使用链表实现二进制堆

时间:2011-04-10 04:04:40

标签: java algorithm heap binary-tree

  

可能重复:
  Linked list implementation of Binary Min Heap (Having trouble with manipulation…)

问候,

我在找出一个能够在二进制堆的链表实现中给出树节点位置的算法时遇到了麻烦。我已经使用数组实现了一个堆,现在我想尝试使用链表;有没有办法找到我的数组索引的树节点我使用数组来表示堆?

2 个答案:

答案 0 :(得分:4)

重点是什么?链表实现将比基于数组的实现更慢或更复杂。如果用简单的链表替换数组并且不添加其他结构,则插入时间将为O(n)而不是O(log n),然后您也可以将排序列表保存在相同的O(n)中)复杂性。

答案 1 :(得分:0)