3.6.4 · HinglishSorting & Searching

Quick sort randomization — expected O(n log n)

1,894 words9 min readRead in English

3.6.4 · Coding › Sorting & Searching


Randomized quicksort KIYA hai?

QUICKSORT(A, lo, hi):
    if lo < hi:
        r = RANDOM(lo, hi)          # <-- sirf yahi naya line hai
        swap A[r] with A[hi]        # random pivot ko end pe move karo
        p = PARTITION(A, lo, hi)    # Lomuto/Hoare around A[hi]
        QUICKSORT(A, lo, p-1)
        QUICKSORT(A, p+1, hi)

Cost kaise count hoti hai — comparisons hi sab kuch hain

Quicksort ka asli kaam comparisons mein hota hai jo partitioning ke dauran hoti hain. Toh agar hum expected comparisons ko bound kar lein, toh runtime bound ho jaata hai.

Key probability (ise derive karo!)

Yeh step kyun? ke har element ka same chance hai pehle pivot pick hone ka — yahi uniform randomization ka poora fayda hai. mein se do favorable choices → probability .

Sum karo → bound milta hai

substitute karo (toh ). Har ke liye, se tak jaata hai:

jahan harmonic number hai, aur .

Figure — Quick sort randomization — expected O(n log n)

Worked examples


Common mistakes


Active recall

Recall Khud test karo (koshish ke baad kholna)
  • Quicksort mein do elements kab compare hote hain? → sirf jab ek pivot hota hai.
  • kyun hai? → mein pehla pivot decide karta hai; mein se 2 good.
  • Randomization adversary ko kyun beat karta hai? → cost coin flips par depend karti hai, input order par nahi.
  • Randomized quicksort ka worst case? → abhi bhi (bas improbable hai).
Randomization quicksort ki complexity mein kya change karta hai?
Worst case rehta hai lekin expected time har input ke liye ho jaata hai; koi bhi input adversarially bura nahi hota.
Quicksort mein do elements kab compare hote hain?
Tab jab unme se ek pivot choose hota hai jabki dono abhi bhi same subarray mein hain — zyada se zyada ek baar.
kya hai?
, kyunki unke beech ke elements mein se (inclusive) pehla pivot ya hona chahiye.
Indicator 0 ya 1 hi kyun hota hai?
Ek pair zyada se zyada ek baar compare hota hai kyunki involved pivot future recursion se remove ho jaata hai; opposite-side elements kabhi compare nahi hote.
closed form mein kya hai?
, jahan .
Harmonic number asymptotically kya hai?
, toh .
Do adjacent (sorted order mein) elements ke compare hone ki probability?
— adjacent elements hamesha compare hote hain.
Kya start mein ek random shuffle random pivots jitna hi kaam karta hai?
Haan — dono pivot ranks ko uniformly random banate hain, same expected dete hain.

Recall Feynman: ek 12-saal ke bachche ko samjhao

Socho tum cards ki ek deck sort kar rahe ho ek card pick karke ("splitter"), phir chhote cards left mein aur bade cards right mein rakhke, aur har pile par repeat karte ho. Agar tum hamesha sabse chhota card splitter pick karo, toh piles ek taraf jhuk jaati hain (1 vs baaki sab) aur bahut time lagta hai. Trick yeh hai: har baar splitter card randomly pick karo. Ab koi sneaky tarika nahi hai ki koi deck arrange kare tumhe slow karne ke liye — kyunki woh guess nahi kar sakte tum kaun sa card utha loge. Average par tumhari piles nicely half-half split ho jaati hain, toh tum ke bajaye lagbhag steps mein finish karte ho. Do cards directly tab compare hote hain jab unme se ek splitter hota hai jabki woh abhi bhi same pile mein hain — aur yahi woh neat fraction deta hai.


Connections

  • Quicksort (deterministic) — same partition logic, sorted input par worst-case .
  • Linearity of Expectation — woh engine jo hume per-pair probabilities sum karne deta hai.
  • Indicator Random Variables technique randomized algorithms mein baar baar use hoti hai.
  • Harmonic Number factor ka source.
  • Merge Sort — deterministic guaranteed , stability/space par contrast.
  • Median of Medians — deterministic good-pivot selection, randomizing ka alternative.
  • Las Vegas vs Monte Carlo algorithms — quicksort Las Vegas hai (hamesha correct, time random).

Concept Map

adversary sorted input

pivot rank tied to input order

breaks input-order link

adversary cannot predict flips

only change to algorithm

work done in

bound expected count

indicator variable Xij

first pivot in set Zij

sum harmonic series

so Xij in 0 or 1

Deterministic quicksort

Worst case O n^2

Randomize pivot uniformly

Pivot rank is uniform random

Expected O n log n

Partition and recurse

Comparisons

E X sum of Pr compared

Prob compared 2 over j-i+1

Compared only vs pivot