2-2
2015-05-29 19:05
162 查看
问题a:
我们还需说明A’是A中所有元素的一种排列
问题b:
证明第二个循环的不变式
每一次循环开始时,A[j]是A[j…n]中最小的
初始化:j=n显然成立
保持:上一次循环开始时,A[j+1]是A[j+1…n]中最小的,循环结束后,A[j]小于A[j+1],所以A[j]是A[j…n]中最小的
结束:结束时A[i]是A[i…n]中最小的
问题c:
第一个循环的不变式
每一次循环开始时A[1…i]已经有序
初始化:i=1,只有一个元素,显然成立
保持:每一次循环结束时,将第i小的数放置在第i位上,A[1…i]仍然有序
结束:A[1…n]全部有序
问题d
最坏情况下,数组是从大到小排列的,时间复杂度为Θ(n2),与插入排序一样
我们还需说明A’是A中所有元素的一种排列
问题b:
证明第二个循环的不变式
每一次循环开始时,A[j]是A[j…n]中最小的
初始化:j=n显然成立
保持:上一次循环开始时,A[j+1]是A[j+1…n]中最小的,循环结束后,A[j]小于A[j+1],所以A[j]是A[j…n]中最小的
结束:结束时A[i]是A[i…n]中最小的
问题c:
第一个循环的不变式
每一次循环开始时A[1…i]已经有序
初始化:i=1,只有一个元素,显然成立
保持:每一次循环结束时,将第i小的数放置在第i位上,A[1…i]仍然有序
结束:A[1…n]全部有序
问题d
最坏情况下,数组是从大到小排列的,时间复杂度为Θ(n2),与插入排序一样
相关文章推荐
- 算法之神奇的位运算
- 基础篇--使用终端
- 基础篇--使用终端
- 【Win10】UAP/UWP/通用 开发之 RelativePanel
- 学习Zynq的好的入门博客
- 多种链表
- Android 开发工具类 23_getImage
- js重定向
- C++作业4.21
- 动态规划法.md
- 建造者模式
- 构建之法-8.9.10
- 设计模式
- hdu3932 模拟退火
- Android 常用 adb 命令总结
- html中的meta
- JavaScript自学第4讲:JavaScript运算符介绍
- 在java中生成二维码,并直接输出到jsp页面
- Maven入门指南⑤:使用Nexus搭建Maven私服
- 转载:你还在用jquery.lazyload这个坑爹的图片分屏加载插件么?