算法导论第六章6.1堆课后答案

博客内容介绍了算法导论中第六章6.1节关于最大堆的性质,强调每个节点的值至少大于或等于其子节点的值,即A[PARENT(i)]>=A[i]。
摘要由CSDN通过智能技术生成
6.1-1在高度为h的堆中,元素个数最多和最少分别是多少?


最少是最底层只有一个叶子结点:2^0+2^1+...+2^(h-1)+1=2^h
最多是这个堆(包括最底层)是一个完全二叉树:2^0+2^1+...+2^(h-1)+2^h=2^(h+1)-1


6.1-2证明:含n个元素的堆的高度为lgn.


设这个堆的高度为h
这个堆的总结点2^0+2^1+...+2^(h-1)+O(2^h)=n  其中1<=O(2^h)<=2^h
所以1+2^h-1<=2^h-1+O(2^h)<=2^h-1+2^h   
    2^h<=n<=2^(h+1)-1<2^(h+1) 
    lgn-1<h<lgn
h=向下取整lgn


6.1-3证明:在最大堆的任意子树中,该子树所包含的最大元素在该子树的根结点上。


最大堆的任意子结点作为父结点,都要符合最大堆的性质所以第i个结点

A[PARENT(i)]>=A[i]



6.1-4假设最大堆的所有元素都不相同,那么该堆的最小元素应该位于哪里?


最小元素必然是在最底层或者是没有子结点
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值