算法导论第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时成立,

相关推荐
imuliuliang7 小时前
算法中的随机化思想及其复杂度收益评估的技术7
算法
不能跑的代码不是好代码8 小时前
二叉树从基础概念到LeetCode实战
算法·leetcode
凯瑟琳.奥古斯特8 小时前
二分查找解力扣1011最优运载能力
开发语言·c++·算法·leetcode·职场和发展
学计算机的计算基8 小时前
二叉树算法下篇:递归核心技巧与高频面试题详解
java·笔记·算法
水龙吟啸8 小时前
华为2026.6.24机考选择题+编程题【速刷敲黑板】
人工智能·深度学习·算法·机器学习·华为
Eloudy8 小时前
全文 - Evolution Strategies as a Scalable Alternative to Reinforcement Learning
人工智能·算法
net3m339 小时前
可以加大adc滑动滤波的间隔时间,比如定时每20ms采集一次滤波输入,且用滑动窗口均值滤波
算法
卷福同学15 小时前
不用服务器,不用配环境,我10分钟上线了一个AI Agent
人工智能·后端·算法
至乐活着17 小时前
深入解析跳表SkipList:原理、实现与性能优化实战
数据结构·算法·跳表·skiplist·java实现
Jerry18 小时前
LeetCode 383. 赎金信
算法