算法
Sandeldeng
这个作者很懒,什么都没留下…
展开
-
几种常见的排序算法及实现(二)
4、归并排序 归并排序是利用递归与分治技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排序好的半子表合并成为越来越大的有序序列。 归并排序算法的原理:对于给定的一组记录(假设共有n个记录),首先将每两个相邻的长度为1的子序列进行归并,得到n/2(向上取整)个长度为2或1的有序子序列,再将其两两归并,反复执行此过程,直到得到一个有序序列为止。void Merge(int转载 2016-10-16 23:01:43 · 450 阅读 · 0 评论 -
几种常见的排序算法及实现(一)
1、选择排序 基本原理:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换;接着对不包含第一个记录以外的其他记录进行第二轮比较,得到最小的记录并与第二个记录进行位置交换;重复该过程,直到进行比较的记录只有一个时为止。void SelectSort(int a[],int n) { int i,j; int temp=0; in原创 2016-10-16 22:38:09 · 477 阅读 · 0 评论 -
几种常见的排序算法及实现(三)
6、希尔排序 希尔排序也称为“缩小增量排序”。它的基本原理是:首先将待排序的元素分成多个子序列,使得每个子序列的元素个数相对较少,对各个子序列分别进行直接插入排序,待整个待排序序列“基本有序后”,再对所有元素进行一次直接插入排序。 具体步骤如下: 1)选择一个步长序列t1,t2,…,tk,满足ti>tj,(i小于j),tk=1。 2)按步长序列个数k,对待排序序列进行k趟排序。 3)每趟排原创 2016-10-16 23:18:34 · 556 阅读 · 0 评论