我很少混淆huffman算法是使用优先级队列还是排序队列来构建huffman树? 例如: https://www.geeksforgeeks.org/greedy-algorithms-set-3-huffman-coding/
在上面的链接中,他们说使用最小堆,但我可以看到他们刚刚使用排序列表来制作霍夫曼树。如果我错了,请纠正我。
答案 0 :(得分:2)
minheap用于创建优先级队列,该队列是排序队列的一种形式。是的,任何排序的数据结构都可以用来帮助创建一个霍夫曼代码;但是,传统上使用堆是因为霍夫曼树基本上是最大堆的专门构造。