dsa / dsa-hashing
20 mins
DSA Module 10: Min-Heap & Priority Queue
Why This Matters: Heaps extract minimum or maximum elements in O(log N) time, essential for Top-K problems.
## Min-Heap Properties & Top-K Extraction Min-heaps ensure root element is always the minimum value. ```python import heapq nums = [5, 1, 8, 3] heapq.heapify(nums) # Transform to Min-Heap in O(N) time min_val = heapq.heappop(nums) # Returns 1 in O(log N) time ```
MENTAL MODEL & MEMORY LAYOUT
MIN-HEAP TREE INVARIANT:
( 1 ) ◄── Root is absolute minimum
/ \
( 3 ) ( 8 )
/
( 5 ) COMMON PITFALLS TO AVOID
- Assuming heapify sorts array completely (heapify enforces parent <= children, not full sorting).
Top-K Elements Pattern
import heapq
def find_kth_largest(nums, k):
return heapq.nlargest(k, nums)[-1]Extracts K largest elements efficiently using heap.
CONCEPT MASTERY CHECKPOINT
What is the time complexity of popping the minimum element from a Min-Heap of size N?
NEXT RECOMMENDED LESSON
DSA Module 11: Graph Traversals (BFS/DFS)
Challenge: Find Kth largest element using min-heap.