Greedy
Local Choice Visualizer
Watch greedy strategies sort, scan, select, merge, and reset state while each step updates the current result and complexity.
O(n log n) time / O(n) space
result: 4 nodesselected: 0
Adefault
5
frequency
Bdefault
9
frequency
Cdefault
12
frequency
Ddefault
13
frequency
Result
4 nodes
Time
O(n log n)
Space
O(n)
Step Note
Put all frequencies into a min-priority queue.
function huffman(frequencies: Node[]) {
const queue = minHeap(frequencies)
while (queue.size > 1) {
const first = queue.pop()
const second = queue.pop()
queue.push(merge(first, second))
}
return queue.pop()
}