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

相关推荐
多打代码13 分钟前
2025.09.05 用队列实现栈 & 有效的括号 & 删除字符串中的所有相邻重复项
python·算法
j_xxx404_2 小时前
数据结构:栈和队列力扣算法题
c语言·数据结构·算法·leetcode·链表
南莺莺2 小时前
假设一个算术表达式中包含圆括号、方括号和花括号3种类型的括号,编写一个算法来判别,表达式中的括号是否配对,以字符“\0“作为算术表达式的结束符
c语言·数据结构·算法·
THMAIL2 小时前
深度学习从入门到精通 - 神经网络核心原理:从生物神经元到数学模型蜕变
人工智能·python·深度学习·神经网络·算法·机器学习·逻辑回归
野犬寒鸦2 小时前
力扣hot100:旋转图像(48)(详细图解以及核心思路剖析)
java·数据结构·后端·算法·leetcode
墨染点香2 小时前
LeetCode 刷题【61. 旋转链表】
算法·leetcode·职场和发展
一枝小雨3 小时前
【OJ】C++ vector类OJ题
数据结构·c++·算法·leetcode·oj题
Tisfy3 小时前
LeetCode 3516.找到最近的人:计算绝对值大小
数学·算法·leetcode·题解
自信的小螺丝钉3 小时前
Leetcode 206. 反转链表 迭代/递归
算法·leetcode·链表
黑色的山岗在沉睡4 小时前
LeetCode 189. 轮转数组
java·算法·leetcode