算法导论第三版 练习2.2-2
2015-03-08 16:02
204 查看
选择算法 伪代码:
本文出自 “傻无尽的升级之旅” 博客,请务必保留此出处http://zhangshifan.blog.51cto.com/9970564/1618381
for j=1 to n-1 smallest = j for i=j+1 to n if A[i]<A[smallest] smallest=i A[j]=A[smallest] 循环不变式 在for循环(循环变量为j)的每次 迭代开始,包含元素A[1..j-1]对的子数组都是排好序的(由数组[1..n]的j-1个最小元素组成) 循环终止的条件是就j>n-1,因为每次循环的迭代j增加1,所以必有j=n。将j=n带入循环不变式的表示中,有子数组A[1..n-1]中的元素都是排好序的(由数组A[1..n]的n-1个最小元素组成),因此A 是其中最大的元素。所以整个数组都已拍好序。 最好运行情况与最坏运行情况都是 (n^2)
本文出自 “傻无尽的升级之旅” 博客,请务必保留此出处http://zhangshifan.blog.51cto.com/9970564/1618381
相关文章推荐
- 算法导论第三版 练习2.3-5
- 算法导论(第三版)练习 2.2-1 ~ 2.2-4
- 算法导论(第三版)练习 1.1-1 ~ 1.1-5
- 算法导论(第三版)练习 1.2-1 ~ 1.1-3
- 算法导论(第三版)练习 2.1-1 ~ 2.1-4
- 算法导论第三版习题6.5
- 算法导论12.4随机构建二叉搜索树 练习总结
- windows7 VS2010 OpenCV2.2.…
- 算法导论13.3插入 练习总结
- 2.2 节的练习--Compiler principles, technologys, &tools
- 算法导论(第三版)-复习- Stable Matching Problem
- 深入理解计算机系统(第三版) 练习2.13
- 深入理解计算机系统(第三版) 练习2.15
- 算法导论第二版习题试解-第二章练习2.1
- 《算法导论》第七章----快速排序(代码实现+部分练习+部分证明)
- 关于《算法导论(第三版)》的课后作业7.4-5的解答
- 《Android编程权威指南(第三版)》第五章挑战练习Demo
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 《Android编程权威指南(第三版)》第九章挑战练习Demo
- 算法导论第三版习题8.1