算法导论课后习题解析 第七章
2016-01-09 22:21
190 查看
算法导论课后习题解析 第七章
7.1-1蓝色部分代表不大于pivot,红色部分表示大于pivot
13 19 9 5 12 8 7 4 21 2 6 11
13 19 9 5 12 8 7 4 21 2 6 11
13 19 9 5 12 8 7 4 21 2 6 11
9 13 19 5 12 8 7 4 21 2 6 11
9 5 13 19 12 8 7 4 21 2 6 11
9 5 13 19 12 8 7 4 21 2 6 11
9 5 8 13 19 12 7 4 21 2 6 11
9 5 8 7 13 19 12 4 21 2 6 11
9 5 8 7 4 13 19 12 21 2 6 11
9 5 8 7 4 13 19 12 21 2 6 11
9 5 8 7 4 2 13 19 12 21 6 11
9 5 8 7 4 2 6 13 19 12 21 11
9 5 8 7 4 2 6 11 13 19 12 21
7.1-2
当所有的元素都相同的时候q=r,这是因为该算法结束后有aq<ai, (q<i≤r)aq<ai, (q<i≤r),所以没有任何元素会在A[q]之后。
将算法变成交替地将等于pivot的元素放到大小两个集合中,这样就能使得q=⌊(p+r)/2⌋q=⌊(p+r)/2⌋。
由于j从p变为r-1,而循环内的操作运行时间都与输入规模无关为O(1),循环共进行r-p次,所以总的时间复杂度为O(r-p)=O(n)。
7.1-4
只要把比pivot小的元素放到后边,把比pivot大的元素放在前边即可。
相关文章推荐
- 【OpenCV】分离多通道图像RGB的值
- 来看看这20个顶尖的开源项目!
- MonoGame Cross Platform Implementation of XNA for iOS, Android, Mac , Linux, Windows, Windows8, OUYA
- 搜索强连通分量_Tarjan算法_C++实现
- 压缩 解压文件
- nginx处理问题笔记
- js笔记——js异常处理
- 关于正定矩阵是不是一定对称的问题
- Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
- Linux之加密解密基础技术
- 算法导论课后习题解析 第六章
- 菜鸟学python(8) 初识函数
- Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
- Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
- ping命令显示找不到主机,用安全软件网络急救箱检测显示IP地址错误
- CentOS6.6下Redis3.0.6的安装配置
- atitit.极光消息推送服务器端开发实现推送 jpush v3. 总结o7p
- hihoCoder 1241 Best Route in a Grid
- java的super和this关键字用法总结
- 一周总结