-
基数排序
基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。比较官方地说,基数排序是一种基于多关键字的排序。基数排序具体过程如下: 将所...
2017-05-25 19:54 167 -
归并排序
归并排序采用分而治之(divide and conquer)的思想,通过将已经排好序的子序列合并,得到最终完全有序的序列。所以归并算法包括两大步骤:第一步是“分割”,第二步是“合并”,即先对原始序列进...
2017-05-25 14:24 143 -
堆排序
堆排序采用的数据结构是完全二叉树,所以在介绍堆排序之前,我们先看看完全二叉树的定义及性质。定义一:只有最下面的两层结点度能够小于 22,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。定义二...
2017-05-11 21:34 130 -
直接选择排序
选择排序是一种简单直观的排序算法。其基本思想是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。经典的选择排序算...
2017-05-11 17:57 143 -
快速排序算法
快速排序算法的基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达...
2017-05-10 17:56 213 -
冒泡排序
冒泡排序应该算是最简单的排序算法了,其过程如下: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元...
2017-05-10 21:50 171 -
希尔排序
希尔排序是对直接插入排序的改进,其实质就是分组插入排序,该方法又称缩小增量排序。 该算法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的一系列元素组成)分别进行直接插入排序...
2017-05-11 17:12 142 -
直接插入排序
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。经典的插入排序算法有直接插入排序和希尔排序。 直接插入排序的基本思想是:将一个记录插入到已排序好的有序表...
2017-05-11 15:34 179 -
常见排序算法
注:点进链接查看算法具体实现!!!插入排序直接插入排序希尔排序交换排序冒泡排序快速排序选择排序直接选择排序堆排序归并排序基数排序总结 注:图片来自网络,侵权删!
2017-05-11 17:25 141