2012年2月16日
摘要: 提纲:1.在一次比较过程中,我们能确定位置的只有一个元素的位置,在外层循环中体现。比如说在插入排序和选择排序中,外层循环 i 就是已经排好序的元素的个数。那些大于等于 i 的当前的值的的都是等待排序的元素,也就是内层循环 j 需要处理的部分。但是我们能使得数组中的元素“基本有序"基于比较的排序算法,一次只能得出一个结果。最好的情况就是把问题分解成两个1/2的规模,而不是一个1/4,另一个3/4。因为你无法知道你是否处于另一个糟糕的状况之中。因为一次比较只能得出 “大于” 或者 “小于”两个结果,所以底数为log2,而问题的所有解的规模最初是n,当第一轮排序完成后,未排序的元素是n-1 阅读全文
posted @ 2012-02-16 20:37 一路转圈的雪人 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 提纲1.n和n+1的关系结论必须由一个整数n决定结论的定义必须明确,这样我们才可能检验由第n项过渡到下一项也就是n+1的时候,结论是否还能成立。我们期望得到这样一个结果:只要这个结论对n成立,那么对n+1也成立。所以我们要做的有两件事,一是证实结论在取某个值时是正确的,二就是证实取下一个值也是正确的。我们考虑,如果取某个值,那么这个值取什么数好呢?很显然,什么事情我们都希望从最简单的情况出发,因此取1就是我们的选择,也就是n=1。因此n=1时成立,所以n+=1,也就是n=2的时候也成立,同理,n=3的时候也成立。从任意整数过渡到下一个,我们就普遍的证明了这个结论。普遍的证明说明已经遍历了所有情 阅读全文
posted @ 2012-02-16 20:34 一路转圈的雪人 阅读(804) 评论(0) 推荐(0) 编辑