3.1.9 · HinglishComplexity Analysis

Recursion tree method

1,852 words8 min readRead in English

3.1.9 · Coding › Complexity Analysis


Recursion tree kya hota hai?

Kisi bhi tree ke liye teen sawaal jo tumhe zaroor poochne chahiye:

  1. KITNA DEEP hai ye? (levels ki sankhya) — ye is baat se control hoti hai ki kitni tezi se shrink hota hai.
  2. HAR LEVEL KITNA WIDE hai? (depth par nodes ki sankhya) — ye branching se control hota hai.
  3. HAR LEVEL MEIN KITNA KAAM? (depth par node values ka sum).

Phir .

Figure — Recursion tree method

Level counts ko scratch se derive karna

Standard divide-and-conquer recurrence lo:


Worked Example 1 — Merge Sort:

Yahan .

Step Hum kya karte hain Ye step kyun?
Depth levels Size har level halve hoti hai: .
Level par nodes Branching factor .
Level par node size Size se shrink hoti hai.
Har level par kaam cancel ho jaata hai — har level cost karti hai.
Total Har level barabar kaam × levels ki sankhya.

Worked Example 2 —

Yahan .

Step Result Ye step kyun?
Level par kaam mein plug karo; ki powers group karo.
Ratio Ratio wali geometric series → decreasing.
Sum Convergent geometric series → constant factor.
Total Root dominate karta hai — top level ka kaam jeet jaata hai.

Worked Example 3 — Unbalanced tree:

Subproblems alag alag rates se shrink karte hain, isliye hum directly use nahi kar sakte. Hum height ko bound karte hain.

Step Result Ye step kyun?
Har level par kaam (ek level par sizes tak sum hoti hain) ; cost linear hai, to har level lagbhag tak sum hoti hai.
Sabse chhota path (3 se divide) wali branch sabse tezi se shrink karti hai.
Sabse lamba path ( se multiply) wali branch sabse dheere shrink karti hai → sabse gehra.
Total aur ke beech → Levels per-level kaam , saare logs constants se alag hain.


80/20 takeaway


Recall Feynman: ek 12-saal ke bachche ko explain karo

Ek boss ko ek bada kaam socho. Wo ise chote chote kaamon mein todta hai aur helpers ko deta hai. Har helper apna kaam aur todta hai, aur aisa tab tak chalta hai jab tak kaam bahut chota na ho jaaye. Ise jobs ki ek family tree ki tarah draw karo. Ye jaanne ke liye ki poori company ne kitna kul effort kiya, har insaan ke paas effort likh do aur sab ko add karo — row by row karna aasaan hai. Kabhi kabhi boss sabse zyada kaam karta hai (tree ka top), kabhi bottom par chote workers (kyunki wo BAHUT ZYADA hain), aur kabhi sabhi barabar kaam karte hain. Recursion tree bas ye dekhne mein madad karta hai ki heavy lifting kaun kar raha hai.


Flashcards

Kisi bhi recursion tree ke liye teenon kaunsi quantities dhundni chahiye?
Depth (), nodes per level (), aur work per level ().
ke liye recursion tree se total-work formula?
.
Tree mein kitne leaves hote hain?
, har ek ka cost .
Merge sort ke liye per-level kaam aur kyun constant hai?
; branching shrink ko cancel kar deta hai, to har level cost karti hai → total .
ke liye level- kaam aur answer kya hai?
; ratio → root dominate karta hai → .
Root kab dominate karta hai vs leaves?
Root dominate karta hai jab per-level kaam decreasing geometric series hoti hai (); leaves dominate karti hain jab growing hoti hai ().
Ek unbalanced tree jaise kyun deta hai?
Har level tak sum hoti hai aur height aur ke beech hai, ye sab hain.
Galat leaf count aur uska fix?
" leaves" bolna; sahi hai (sirf ke barabar hota hai jab ).

Connections

Concept Map

unfolded by substitution

node value

Q1 how deep

Q2 how wide

sum over levels

level sums shrink

level sums equal

level sums grow

derives

Recurrence T(n)=aT(n/b)+f(n)

Recursion Tree

Non-recursive cost f(m)

Depth = log_b n

Nodes at level i = a^i

Work per level a^i f(n/b^i)

T(n) = sum a^i f(n/b^i)

Leaves cost n^(log_b a)

Root dominates f(n)

Extra log factor

Leaves dominate

Master Theorem