algorithm - 计算堆最后一级的堆大小

标签 algorithm data-structures heap heapsort

是否有计算最后一层中堆的堆大小(最大堆大小和最小堆大小)的函数?

例如当 Heapsize 为 128 时。

当我在二叉树中有 128 个节点时,Heapsize 是 128 吗?

最佳答案

二叉堆是一个 complete binary tree .这使我们有可能从堆的大小中找到级别数:
enter image description here
k 层 (height(H) == k-1) 的堆的最小大小为 2^k,最大为 2^(k+1)-1

关于algorithm - 计算堆最后一级的堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45101053/

相关文章:

algorithm - 是否需要特征缩放

algorithm - 创建非自相交多边形的算法的有效性

algorithm - 图论 : Will it stop or not?

scala - Scala 中的 Union-Find(或 Disjoint Set)数据结构

使用priorityQueue的java heapify方法

将最大堆转换为二叉搜索树

c++ - 遍历二维数组的时间复杂度是多少

java - 如何从java中的链接列表中的节点检索对象的内容

c# - 类似于字典的数据结构,但有范围?

C++堆组织——哪种数据结构?