Recall Q: Woh ek property kya hai jo priority queue hamesha guarantee karta hai?
Ki peek/extract hamesha highest priority (min ya max) wala element return karta hai, insertion order ki parwah kiye bina.
Recall Q: Heap ko sorted/unsorted lists se kyun prefer karte hain?
Naive lists ek operation ko O(1) banate hain lekin doosre ko O(n), overall O(n2) deta hai. Heap dono insert aur extract ko O(logn) banata hai → total O(nlogn).
Recall Q: Min-PQ se max-behaviour kaise loge?
Negated priorities (−p) insert karo; extraction par phir negate karo.
Recall Feynman: 12-saal ke bacche ko explain karo
Socho ek jaadu ki ticket line. Sabke haath mein ek number hai jo batata hai woh kitne important hain. Chahe tum kab bhi line mein aaye ho, machine hamesha sabse important insaan ko next bulaati hai. Jab koi zyada scary number wala andar aata hai, woh haath se aage nahi dhakelta — machine chupke se figure out kar leti hai ki unhe aage jaana chahiye. Woh machine hai priority queue.
Huffman Coding — baar baar do minimums extract karo.
Abstract Data Type — PQ ek ADT hai, heap ek data structure hai.
Priority queue (ADT) kya hai?
Ek collection jahan har element ki ek priority hoti hai; extract hamesha highest-priority (min ya max) element ko remove karta hai, pehle inserted ko nahi.
PQ ke core operations kya hain?
insert(x,p), extract-min/max, peek.
Kya PQ FIFO order follow karta hai?
Nahi — removal order priority se hota hai; arrival order sirf tab matter karta hai agar tum tie-breaking enforce karo.
UNSORTED list mein extract-min ki cost?
O(n) — minimum dhundne ke liye saare elements scan karne padte hain.
SORTED list mein insert ki cost?
O(n) — position dhundna padta hai aur elements shift karne padte hain.
Binary heap mein Insert & extract ki cost?
O(log n) dono.
Heap vs naive list ke saath n inserts + n extracts ki total cost?
Heap O(n log n) vs naive O(n^2).
Min-PQ use karke max-PQ kaise simulate karein?
Negated priorities store karo; retrieval par negate karo.
Ties ko FIFO order mein kaise break karein?
Key ke roop mein (priority, insertion-sequence) pair use karo.
PQ ko ADT kyun kehte hain?
Ye behaviour (contract) specify karta hai, underlying implementation nahi.