3.1.3 · HinglishComplexity Analysis

Best, worst, average case — with examples

1,465 words7 min readRead in English

3.1.3 · Coding › Complexity Analysis


WHY do we need three cases?


HOW to compute each case (recipe)


Array a[0..n-1] mein key dhundho, left se right scan karo, pehli match par ruk jao.

for i in 0..n-1:
    if a[i] == x: return i     # success
return -1                       # not found

Best case. Yeh step kyun? Sabse sasta arrangement loop ko turant band kar deta hai — a[0] == x. Ek comparison.

Worst case. Yeh step kyun? Sabse expensive case mein sab kuch scan karna padta hai: aakhri slot par hai, ya abhi nahin hai. Hum comparisons karte hain.

Average case (successful search, equally likely har position par). Yeh step kyun? Agar index par hai (prob ), toh cost hai comparisons. Expectation lo: Yeh step kyun? (Gauss pairing). Toh average mein hum array ka lagbhag aadha scan karte hain.


Worked Example 2 — Insertion Sort (comparison count)

for i in 1..n-1:
    key = a[i]
    j = i-1
    while j>=0 and a[j] > key:   # comparison + shift
        a[j+1] = a[j]; j -= 1
    a[j+1] = key

Best case — already sorted. Yeh step kyun? Agar array ascending hai, toh while condition a[j] > key pehli test par hi false hoti hai har baar. outer iterations mein se har ek mein exactly 1 comparison hota hai.

Worst case — reverse sorted. Yeh step kyun? Har naya key apne pehle ke sab elements se chhota hota hai, isliye inner loop bilkul saamne tak jaata hai. Iteration mein comparisons hote hain:

Average case (random permutation). Yeh step kyun? Element ke liye, average mein woh sorted prefix mein aadha andar jaata hai, jisme comparisons lagte hain:

Figure — Best, worst, average case — with examples

Worked Example 3 — Average ≠ "best+worst over 2" kyun?


Big-O / Big-Θ vs the three cases


Best-case complexity kya measure karta hai?
Fixed size ke saare inputs mein se minimum operations ki count.
Worst-case complexity kya measure karta hai?
Fixed size ke saare inputs mein se maximum operations — sabse unlucky arrangement.
Average-case formally define karo.
, ek assumed input distribution ke under expected cost.
Best/worst/average mein kya constant rakha jaata hai?
Input size ; sirf input ka arrangement/content vary hota hai.
Linear search: best, worst, average comparisons?
Krama se , , .
Insertion sort best vs worst case order?
Best (already sorted), worst (reverse sorted).
"Average = (best+worst)/2" kyun galat hai?
Average probability-weighted hota hai; midpoint ignore karta hai ki extreme inputs kitne rare/common hain (e.g. quicksort avg hai, ka midpoint nahin).
Kya Big-O aur worst case same hain?
Nahin. O/Ω/Θ bound types hain; best/worst/average batate hain kaun sa input consider kar rahe ho — yeh independent hain.
In derivations mein use hua sum formula?
.
Recall Ek 12-saal ke bachche ko samjhao

Tum apni dost ko kids ki line mein dhundh rahe ho. Agar woh bilkul aage hai, toh turant mil jaati hai — yeh best case hai. Agar woh bilkul peeche hai (ya line mein hai hi nahin!), toh sabko check karna padta hai — yeh worst case hai. Agar tum yeh bahut baar karo aur average karo ki kitne bacche check kiye, toh usually aadhi line hoti hai — yeh average case hai. Line ki length same hai, par kismat decide karti hai kitna time lagta hai!

Connections

  • Asymptotic Notation (Big-O, Omega, Theta)bound language jo har case express karne ke liye use hoti hai.
  • Linear Search aur Insertion Sort — yahan primary worked examples hain.
  • Quicksort — average vs worst divergence; randomized pivots.
  • Expected Value and Probability Distributions — average-case analysis ki foundation.
  • Amortized Analysis — ek alag tarah ki "averaging" (inputs par nahin, balki operations ke sequence par).

Concept Map

needs 3 answers

min over inputs

max over inputs

expected value

requires

illustrated by

match at a0

last or absent

equally likely position

Gauss sum gives

corrects

Running time for size n

Fix input size n

Best case B of n

Worst case W of n

Average case A of n

Assumed input distribution

Linear Search example

Myth: worst = big n

n plus 1 over 2