3.1.2 · HinglishComplexity Analysis

Common complexities — O(1), O(log n), O(n), O(n log n), O(n²), O(n³), O(2ⁿ), O(n!)

1,890 words9 min readRead in English

3.1.2 · Coding › Complexity Analysis


WHAT: Growth ka ladder

Hum algorithms ko rank karte hain ki unka step count T(n) kaise scale karta hai jab n → ∞. Fastest (best) se slowest (worst) tak:

Yahan < ka matlab hai "bade n ke liye strictly slower grow karta hai". Hum constants aur lower-order terms drop kar dete hain kyunki bahut bade n ke liye sirf dominant term matter karta hai (yahi asymptotics ka poora point hai — dekho 3.1.01-Big-O-Notation).

Figure — Common complexities — O(1), O(log n), O(n), O(n log n), O(n²), O(n³), O(2ⁿ), O(n!)

HOW har class arise karti hai (first principles se derive)


Ordering aisi kyun hai


Numbers ka feel karo (Forecast-then-Verify)


Common mistakes (Steel-man + fix)


Recall Feynman: ek 12 saal ke bacche ko explain karo

Socho tumhare paas homework sheets ka ek bada dhair hai n.

  • O(1): tum sirf sabse upar wali sheet check karte ho — kitna bhi uncha dhair ho, effort same rahta hai.
  • O(log n): yeh ek sorted dhair hai aur tum "upar/neeche" khel rahe ho, dhair ko har guess mein aadha tod rahe ho — ek million sheets bhi ~20 guesses mein ho jaata hai.
  • O(n): tum har sheet ek baar padhte ho.
  • O(n²): har sheet ke liye tum use har doosri sheet se compare karte ho (gossip: sabse sabse baat karta hai).
  • O(2ⁿ): har sheet ke liye tum rakh-lo-ya-phenko decide karte ho, aur tum har combination try karte ho — choices har nayi sheet ke saath double ho jaati hain.
  • O(n!): tum unhe stack karne ka har possible order try karte ho — thodi si sheets ke baad hi hopeless hai. Jitni tezi se kaam ka dhair sheets add karne par badhta hai, utna bura algorithm hai.

Flashcards

Kaun si complexity hai jiska step count n se independent hai?
O(1) — constant.
Binary search O(log n) kyun hai?
Har step search space ko aadha karta hai; .
Do sequential O(n) loops ki complexity kya hogi?
O(n) — sequential loops add hote hain, multiply nahi.
O(log n) mein log base irrelevant kyun hai?
Base change sirf ek constant se multiply karta hai (), aur Big-O constants drop karta hai.
Merge sort ki complexity derive karo.
; recursion tree mein kaam ke levels hain → .
kya hai aur iska Big-O kya hai?
.
Subset problems mein O(2ⁿ) kahan se aata hai?
Har element take/skip hai → subsets; ya recurrence .
2ⁿ ya n! mein se kaunsa faster grow karta hai, aur kyun?
n! — yeh n factors ka product hai jinmein zyaadatar 2 se bade hain; n=4 se 2ⁿ ko overtake karta hai.
n=10 par n² aur 2ⁿ compare karo.
n²=100, 2ⁿ=1024; exponential n≈4 ke baad se pehle se bada hai.
Naive n×n matrix multiplication ki complexity kya hai?
O(n³) — teen nested loops.
In sab ko order karo: O(n!), O(1), O(n log n), O(2ⁿ), O(n²).
O(1) < O(n log n) < O(n²) < O(2ⁿ) < O(n!).
Code mein O(log n) ki signature kya hai?
Har iteration mein ek variable constant factor se divide/multiply hota hai (subtract nahi).

Connections

Concept Map

basis for

no loop

halve input

one pass

split and merge

nested loops

triple loop

binary choice per item

all permutations

slower than

slower than

slower than

slower than

slower than

slower than

slower than

Big-O drops constants

Growth ladder by n

O 1 constant

O log n logarithmic

O n linear

O n log n linearithmic

O n2 quadratic

O n3 cubic

O 2n exponential

O n! factorial