算法导论第6章思考题

6.3-2

func(A)

1 A.heap-size=A.len

2 \quad for i= ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len⌋ downto 1

3 \qquad MAX-HEAPIFY(A,i)

对于第2行的循环控制变量i来说,为啥要求它是从 ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len⌋到1递减,而不是从1到 ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len⌋递增呢?

这样就不被允许执行第三行了

6.3-3 证明:包含n个元素的堆中,至多有 ⌈ n 2 h + 1 ⌉ \lceil{n\over2^{h+1}}\rceil ⌈2h+1n⌉个高度为h的结点

h=0时,结点数为n- ⌊ n 2 ⌋ \lfloor{n\over2}\rfloor ⌊2n⌋= ⌈ n 2 ⌉ \lceil{n\over2}\rceil ⌈2n⌉,满足

假设高度为h-1时成立,

相关推荐
W_chuanqi14 分钟前
RDEx:一种效果驱动的混合单目标优化器,自适应选择与融合多种算子与策略
人工智能·算法·机器学习·性能优化
L_090728 分钟前
【Algorithm】二分查找算法
c++·算法·leetcode
靠近彗星31 分钟前
3.3栈与队列的应用
数据结构·算法
Han.miracle5 小时前
数据结构——二叉树的从前序与中序遍历序列构造二叉树
java·数据结构·学习·算法·leetcode
mit6.8247 小时前
前后缀分解
算法
你好,我叫C小白7 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
寂静山林9 小时前
UVa 10228 A Star not a Tree?
算法
Neverfadeaway10 小时前
【C语言】深入理解函数指针数组应用(4)
c语言·开发语言·算法·回调函数·转移表·c语言实现计算器
Madison-No710 小时前
【C++】探秘vector的底层实现
java·c++·算法
Swift社区11 小时前
LeetCode 401 - 二进制手表
算法·leetcode·ssh