3.7.2 · D1 · HinglishAlgorithm Paradigms

FoundationsDivide and conquer — template, correctness, recurrence

2,116 words10 min read↑ Read in English

3.7.2 · D1 · Coding › Algorithm Paradigms › Divide and conquer — template, correctness, recurrence

Pehle aapko parent note ki ek bhi line padhne se pehle, usme aane wale har symbol ko khud se samajhna hoga. Yeh page har ek ko ground up se build karta hai: seedhe words → ek picture → kyun is topic ko iska zaroorat hai. Kuch bhi assume nahi kiya gaya.


1. kya hai? — problem ki size

Picture: imagine karo ek row of boxes. Unhe gino. Woh count hai .

Figure — Divide and conquer — template, correctness, recurrence

2. Splitting: , , aur

Jab hum divide karte hain, do alag numbers split ko describe karte hain. Inhe confuse mat karo.

Figure — Divide and conquer — template, correctness, recurrence

3. Recursion aur base case

Poori recursion machinery aapko phir Mathematical Induction mein milegi aur aap dekhoge ki yeh Mergesort, Quicksort, aur Binary Search ko power karta hai.


4. Combine step aur


5. — running-time function

Aise equations ko actually solve karna aap Recurrence Relations mein seekhoge.


6. — kitni baar aap half kar sakte ho

Concrete: aur ke saath: mein 3 steps lagte hain, toh .

Figure — Divide and conquer — template, correctness, recurrence

7. Exponents: , , aur watershed


8. , , — growth-rate shorthand


Prerequisite map

n = problem size

a pieces and b shrink

recursion + base case

combine and f of n

T of n recurrence

log base b of n = tree height

a to the i and leaf cost

watershed exponent log base b of a

Divide and Conquer analysis

Theta O Omega growth

Sab kuch jo upstream hai woh do cheezein feed karta hai jo parent note actually karta hai: correctness prove karna (recursion = Mathematical Induction ke zariye) aur speed dhundhna (recurrence + Master Theorem ke zariye, Mergesort, Binary Search, Karatsuba, Strassen Matrix Multiplication par apply hota hai, aur Dynamic Programming se contrast kiya jaata hai).


Equipment checklist

Khud ko test karo — right side cover karo aur zyaane se jawab do.

kya measure karta hai?
Input ki size (jaise list mein items ki sankhya).
kya hai?
Unhe subproblems ki sankhya jo aap split karne ke baad actually solve karte ho.
kya hai?
Woh factor jisse input size shrink hota hai; har subproblem ki size hoti hai.
kyun ho sakta hai?
Woh alag cheezein count karte hain — hai har piece kitna chhota hai, hai kitne pieces par aap recurse karte ho (jaise binary search mein , ).
Base case kya hai aur kyun zaruri hai?
Sabse chhota input, recursion ke bina answer diya jaata hai; yeh woh floor hai jo nesting ko rokta hai taaki program terminate ho.
kya hai?
Ek level par non-recursive local kaam: divide cost plus combine cost.
Recurrence ko words mein padho.
Size ka time equals copies of size ka time, plus local divide-and-combine kaam.
pictorially kya equal hai?
Kitni baar aap ko se divide karte ho tak pahunchne ke liye — recursion tree ki height.
kya hai?
Watershed exponent; leaves (sabse chhote boxes) ki sankhya hai, leaf cost jise aap se compare karte ho.
, , ka kya matlab hai?
Di gayi function se zyada tezi se nahi badhta (ceiling), dhheemi se nahi badhta (floor), aur exactly jaisa badhta hai (tight).
Recall Quick self-quiz

Agar aur , toh recursion mein kitne levels hain? ::: . Agar aur levels hain, toh kitne leaves hain? ::: .