摘要: 插入排序的主要思路是不断地将待排序的数值插入到有序段中,使有序段逐渐扩大,直至所有的数值都进入有序段中。 根据待排序的数值插入到有序段中的顺序,可以归纳为两类:直接插入排序和折半查找插入排序。 直接插入排序的基本思想是依次将记录序列中的每一个记录插入到有序段中,使有序段的长度不断地扩大。 现在以一个实例简单的说明一下这个算法的原理,假设数据存在数组a[]中,排序后的结果为升序: 初始状态: 45 37 61 87 66 23 29 45 45 37 61 87 66 23 29 45 (第一个元素认为已经排好序) 第一次:3745... 阅读全文
posted @ 2013-10-20 23:38 surgewong 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 排序是把一组无序的数据元素按照关键字值递增(或递减)的顺序重新排列成有序列的过程。 根据在排序过程中待排序的所有数据元素是否全部被放置在内存中,可将排序方法分为内部排序和外部排序两大类。 (1)内部排序: 整个排序过程完全在内存中进行,排序时不涉及数据的内、外存交换。 (2)外部排序: 由于待排序记录数据量太大,内存无法容纳全部数据,排序需要借助外部存储设备才能完成。 排序算法的评价主要有两点: 一是在数据量规模一定的条件下,算法执行所消耗的平均时间,排序操作的时间主要消耗在关键字之间的比较和数据元素的移动上,因此我们可以认为高效率的排序算法应该尽可能少的比较次数和尽可能少... 阅读全文
posted @ 2013-10-20 21:32 surgewong 阅读(634) 评论(0) 推荐(0) 编辑