3.4.7 · HinglishTrees

AVL tree — balance factor, rotations (LL, RR, LR, RL), insert, delete

2,131 words10 min readRead in English

3.4.7 · Coding › Trees


AVL tree KYA hota hai?


height guarantee kyun karta hai?


HOW: char rotations

Ek rotation ek local re-pointering of 3 nodes hai jo BST in-order ordering preserve karti hai jabki height reduce karti hai. Imbalance ki shape batati hai kaun si rotation lagani hai.

Maano = upar jaate waqt pehla unbalanced node, = uska taller child, = ka taller child.

Case Shape Fix
LL left-heavy, ke left mein insert hua par ek right rotation
RR right-heavy, ke right mein insert hua par ek left rotation
LR left-heavy, ke right mein insert hua par left, phir par right
RL right-heavy, ke left mein insert hua par right, phir par left
Figure — AVL tree — balance factor, rotations (LL, RR, LR, RL), insert, delete

Insert algorithm


Delete algorithm


Worked examples


Common mistakes


Recall Feynman: 12 saal ke bachche ko explain karo

Socho blocks ka ek tower jisme har block ke left aur right stack almost same height hone chahiye — kabhi bhi ek se zyada off nahi. Jab bhi koi block add ya remove karo, us jagah se upar tak check karo: agar ek side bahut zyada lamba ho gaya, toh tower ko thoda tilt karo (ek rotation) taaki woh wapas balanced ho jaye. Kyunki yeh kabhi zyada nahi jhukata, tum hamesha koi bhi block sirf kuch levels neeche jaake dhundh sakte ho — fast! "Tilt" 4 tarah ke aate hain depending on kaun si side bahut lamba hua aur kya seedha jhukav hai ya zig-zag jhukav hai.


Flashcards

Kisi node ka balance factor kya hota hai?
, allowed values .
Empty subtree ko kaunsi height assign ki jaati hai?
(isliye ek leaf ki height hoti hai).
LL imbalance kaun si rotation fix karti hai?
Unbalanced node par ek single right rotation.
LR case fix?
rotateLeft(child) phir rotateRight(node).
RL case fix?
rotateRight(child) phir rotateLeft(node).
Insert par LL aur LR mein fark kaise pehchante hain?
Dono left-heavy hain (); key ko left child ki key se compare karo — chhota=LL, bada=LR.
Ek AVL insert ke baad max kitni rotations chahiyen?
Ek (single ya double).
Delete ko kaafi rotations kyun chahiyen?
Ek rotation subtree ko chhota kar sakti hai, ancestor ko unbalance kar sakti hai, isliye root tak rebalance karo.
Height- AVL tree ke minimum nodes kaunsa recurrence deta hai?
— ek shifted Fibonacci, .
ke terms mein worst-case AVL height?
.
Rotation par kaunse node ki height pehle update karo?
Lower (child) node ki, phir parent ki.
AVL mein search/insert/delete ki time complexity?
har ek.

Connections

  • Binary Search Tree — AVL ek BST hai plus balance invariant.
  • Tree Rotations — woh shared primitive jo AVL aur Red-Black Tree dono use karte hain.
  • Red-Black Tree — looser balancing (height ), delete par kam rotations.
  • Fibonacci Numbers — minimum node count / height ko bound karta hai.
  • Big-O Notation height kyun matter karti hai.
  • Heap vs AVL — dono balanced hain, lekin heaps sirf parent-child order karte hain, full in-order nahi.

Concept Map

can degenerate to

is a self-balancing

keeps

constraint BF <= 1

BF = +2 left-heavy or -2 right-heavy

fixed by

LL single right

RR single left

LR left then right

RL right then left

derived from

Fibonacci recurrence gives

Binary Search Tree

Linked list O of n

AVL Tree

Height O of log n

Balance Factor = hleft - hright

Unbalanced node

Rotations

Left-Left case

Right-Right case

Left-Right case

Right-Left case

N of h = 1 + N h-1 + N h-2