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

相关推荐
Eyfcom7 小时前
〖物联网终端实战 01〗UWB 室内高精度定位:仓储 AGV 与人员的厘米级轨迹追踪
物联网·算法·物流系统·快递系统·跨境物流快递系统·物联网终端实战
bro_Java6667 小时前
《排序的底层逻辑:比较、交换与分治》
java·算法·排序算法
爱喝雪碧的可乐8 小时前
MATLAB
开发语言·算法·matlab
叼烟扛炮8 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
careathers9 小时前
【数据结构】基于比较的排序算法 - 交换排序
数据结构·算法·排序算法
Rabitebla9 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
tellmewhoisi10 小时前
深度学习0:数学知识:正态分布1
人工智能·深度学习·算法
-梅10 小时前
算法(1) 动态规划
算法·动态规划
青少儿编程课堂10 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:Bellman-Ford与SPFA含负权最短路及负环检测全解析
c++·python·算法·bfs·信息学竞赛
octopus_c11 小时前
STL 之 string:auto 与范围 for、常用接口、模拟实现与深浅拷贝
开发语言·c++·算法