【发布时间】:2018-07-10 02:54:46
【问题描述】:
我知道链表不是构建堆的合适数据结构。
这里的一个答案 (https://stackoverflow.com/a/14584517/5841727) 说堆排序可以使用与数组相同的链表在 O(nlogn) 中完成。
我认为 heapify 操作会在链表中花费 O(n) 时间,我们需要 (n/2) 次 heapify 操作导致 O(n^2) 的时间复杂度。
有人能告诉我如何使用链表实现 O(nlogn) 复杂度(用于堆排序)吗?
【问题讨论】:
-
如果你解释一下使用链表构建堆是什么意思,那么这个问题也许会有意义。
标签: algorithm data-structures heap