使用链表实现二叉堆

发布于 2024-10-31 06:44:16 字数 342 浏览 5 评论 0原文

可能的重复:
二进制最小堆的链表实现(遇到问题通过操纵...)

您好,

我无法找出一种算法,该算法可以为我提供二叉堆的链表实现中树节点的位置。我已经使用数组实现了堆,现在我想尝试使用链表;如果我使用数组来表示堆,有没有办法找到其数组索引为 i 的树节点?

Possible Duplicate:
Linked list implementation of Binary Min Heap (Having trouble with manipulation…)

Greetings,

I'm having trouble figuring out an algorithm that will give me the location of a tree node in a linked list implementation of a binary heap. I've implemented a heap using arrays now I want to try using a linked list; Is there a way to find the tree node whose array index would have been i had I used an array to represent the heap?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牛↙奶布丁 2024-11-07 06:44:16

有什么意义?链表实现会比基于数组的实现更慢或更复杂。如果你用一个简单的链表替换数组并且不添加其他结构,你的插入时间将是 O(n) 而不是 O(log n),然后你也可以在相同的 O(n) 中维护一个排序列表)复杂性。

What's the point? A linked list implementation will be either slower or more complex than an array-based one. If you replace the array with a simple linked list and don't add other structure your insertion time will be O(n) instead of O(log n), and then you could as well just maintain a sorted list in same O(n) complexity.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文