Data structures 包含n个元素的堆的高度
我有以下问题: “树的高度是树的最长分支的长度。从高度的定义来看,一个包含n个元素的堆的高度是多少?请用您的答案给出清晰而准确的解释。” 堆=二叉树 我知道一个完整的二叉树的数目是2^(n°的级别-1) 到目前为止,我尝试了以下方法: 如果有三个堆(2个完全二叉树和1个非完全二叉树),则:Data structures 包含n个元素的堆的高度,data-structures,binary-tree,heap,Data Structures,Binary Tree,Heap,我有以下问题: “树的高度是树的最长分支的长度。从高度的定义来看,一个包含n个元素的堆的高度是多少?请用您的答案给出清晰而准确的解释。” 堆=二叉树 我知道一个完整的二叉树的数目是2^(n°的级别-1) 到目前为止,我尝试了以下方法: 如果有三个堆(2个完全二叉树和1个非完全二叉树),则: Heap A=是一个完整的二叉树,高度为H Heap B=是一个高度为二叉树,节点数比a多,但比C少(我认为它的高度与C相同?) 堆C=是高度为H+1的二叉树 我可以说,B的高度在A和C的高度之间,B的元
- Heap A=是一个完整的二叉树,高度为H
- Heap B=是一个高度为二叉树,节点数比a多,但比C少(我认为它的高度与C相同?)
- 堆C=是高度为H+1的二叉树
但我不知道如何计算包含n个元素的堆的高度。正如您所知,堆是一个完整的二叉树 让我们看看一些堆: 我们可以看到:
- 若堆有1个节点,则其高度为1
- 若堆有2到3个节点,其高度将为2
- 若堆有4到7个节点,则其高度为3
- 若堆有2^i到2^(i+1)-1个节点,则其高度为i
因此,具有n个节点的堆将具有高度层(log2(n))+1Hi,即使使用索引从1开始的系统,在点#5中,高度i堆中的最小元素数将为2^(i-1),同一树中的最大元素数将为(2^i)-1。