我有以下问题:
“树的高度是树的最长树枝的长度。从高度的定义来看,有n个元素的堆的高度是多少?用你的答案给出一个清晰而准确的解释。”
堆=二叉树
我知道一个完整二叉树的数目是2^(级别的n°)。
到目前为止,我尝试了以下几点:
如果有三个堆(2个完整的二叉树和1个非完整的二叉树),那么:
可以说,B的高度介于A和C的高度之间,B的元素数介于2^(A-1的n°能级)到2^(C1的n°水平)之间。
但是,我不知道如何使用n个元素的堆的高度。
发布于 2019-04-19 05:54:48
如您所知,堆是一个完整的二叉树。
让我们来看看一些堆:

我们可以看到:
注意,只有当我们用节点填充某个级别并启动一个新级别时,堆的高度才会增加。
这只发生在节点上: 1,2,4,8,16,32,.
因此,具有n个节点的堆将具有高度层(log2(N))+1
发布于 2022-09-30 07:20:14
计算元素总数
def height(self):
return math.floor(math.log(n,2))+1https://stackoverflow.com/questions/55753942
复制相似问题