【发布时间】:2018-11-29 12:29:12
【问题描述】:
一个大小为 n 的整数数组可以通过调整从节点 ⌊(n−1)/2⌋ 开始的完整二叉树的每个内部节点的堆转换为堆,并进行调整直到根节点(根节点在索引 0 处),顺序为 ⌊(n−1)/2、⌊(n−3)/2⌋、.....、0。
================================================ =============================
我知道,这是一个 Build Heap 过程,需要 O(n) 时间,但有人可以通过取一个 n 值较小的数组来让我想象一下事情是如何工作的吗?
【问题讨论】:
-
是什么阻止您将 15 个随机值绘制为金字塔并按需要的顺序交换它们?
-
如果你搜索“build heap example”,会有很多例子。这是一个,带视频:medium.com/@randerson112358/lets-build-a-min-heap-4d863cac6521
标签: algorithm data-structures heap