3.7.4 · HinglishAlgorithm Paradigms

Greedy problems — activity selection, fractional knapsack, Huffman coding (full algorithm)

2,059 words9 min readRead in English

3.7.4 · Coding › Algorithm Paradigms


1. Activity Selection


2. Fractional Knapsack


3. Huffman Coding (full algorithm)

Figure — Greedy problems — activity selection, fractional knapsack, Huffman coding (full algorithm)

Recall Feynman: ek 12-saal ke bacche ko samjhao

Activity selection: tum ek theater mein jitni ho sake utni movies dekhna chahte ho — hamesha woh movie pick karo jo sabse pehle khatam hoti hai, taaki tum sabse jaldi free ho jao. Fractional knapsack: tum powders ek bag mein scoop kar sakte ho; sabse pehle sabse mehenga-per-gram powder daalo jab tak bag bhar na jaye. Huffman: jo words tum zyada bolte ho unhe chote secret-codes dete ho aur rare words ko lambe. Banane ke liye, do sabse rare words ko baar baar glue karte raho aur recombine karte raho, taaki rare wale sabse deep jayein (sabse lambe codes).


Flashcards

Greedy algorithm definition
Solution ko incrementally banata hai, locally best choice leta hai aur kabhi reconsider nahi karta.
Two properties needed for greedy optimality
Greedy-choice property + optimal substructure.
Activity selection greedy rule
Finish time se sort karo; baar baar sabse pehle finish hone wali compatible activity pick karo.
Why earliest-finish (not shortest/earliest-start)
Pehle finish karna baaki activities ke liye maximum remaining time window chodta hai.
Activity selection complexity
(sort) + scan.
Fractional knapsack greedy rule
Value/weight density descending se sort karo; items fully lo, aakhiri ka fraction lo.
Why fractional knapsack is greedy-solvable
Fractions se tum capacity ko densest item se exactly fill kar sakte ho — exchange argument se koi waste nahi.
Why 0/1 knapsack is NOT greedy
Indivisible items gaps force kar sakte hain; dynamic programming chahiye. Counterexample W=50, A(60,10),B(100,20),C(120,30).
Huffman core step
Min-heap se do sabse kam-frequency nodes pop karo, summed frequency wale node mein merge karo, wapas push karo; n−1 baar repeat karo.
Huffman total cost formula
Sabhi internal (merged) nodes ki frequencies ka sum.
Why merge the two smallest in Huffman
Woh optimal tree mein sabse deep siblings hote hain; unhe merge karna har step par minimum cost add karta hai (exchange argument).
Huffman complexity
using a binary min-heap.
Prefix-free code meaning
Koi codeword doosre ka prefix nahi hota, isliye decoding unambiguous hoti hai.
General proof technique for greedy correctness
Exchange argument — kisi bhi optimal solution ko ek aisa solution mein transform karo jo greedy choice contain kare bina cost badhaye.

Connections

  • Dynamic Programming — jab greedy fail ho tab zaruri (0/1 knapsack, edit distance).
  • Priority Queue / Binary Heap — Huffman ki min-extraction ka engine.
  • Exchange Argument — greedy correctness ke liye universal proof tool.
  • Sorting Algorithms — activity selection aur knapsack mein preprocessing.
  • Prefix Codes & Information Theory — Huffman Shannon entropy bound ke paas aata hai.
  • Minimum Spanning Tree (Kruskal/Prim) — doosre classic greedy + exchange proofs.

Concept Map

needs

needs

no backtrack, risks failure

proves safe

applies to

applies to

applies to

greedy rule

justifies

sort cost O n log n

Greedy algorithm

Greedy-choice property

Optimal substructure

Exchange argument

Activity selection

Earliest finish time

Fractional knapsack

Huffman coding