Menu

Earn Premium with Referrals

Invite your friends and earn Premium rewards through our referral program.

See how it works and start inviting friends.

Heap Patterns
DSA

Heap Patterns

Learn common heap-based patterns for priority selection, top-K problems, merging, and streaming data.

Master Heap Patterns for DSA + Competitive Programming

A Heap provides O(log n) insert/delete with O(1) access to the smallest (min-heap) or largest (max-heap) element.


Pattern Table

PatternTypical QuestionsTrigger
Priority Queue BasicsMin/max trackingHeap of size K
Top K ElementsKth largest, top frequentMin-heap of size K
Kth Smallest/LargestKth elementHeap + size control
Merge K SortedMerge K listsMin-heap of heads
Median / Two HeapsRunning medianMax-heap + Min-heap
Heap SortSort using heapBuild heap + extract

Mental Trigger

Smallest/largest K → Top K → Min-heap of size K.


Generic Java Heap Template (Base)

PriorityQueue<Integer> minHeap = new PriorityQueue<>();
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());

minHeap.offer(val);     // insert
minHeap.peek();         // smallest
minHeap.poll();         // remove smallest

Recognition Cheat Sheet

If you see…Think…
Kth largest/smallestHeap of size K
Top K frequentFreq map + min-heap
Merge K sorted listsMin-heap of heads
Running medianTwo heaps

My Private Notes

Notes are auto-saved locally to this device.