- 博客(5)
- 收藏
- 关注
原创 快速排序
基本思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序(Quicksort)是对冒泡排序的一种改进。...
2012-10-18 10:42:10 78
原创 插入排序
基本思想: 每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素...
2012-10-18 10:33:17 54
原创 选择排序
基本思想: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。杂度分析: 选择排序的交换操作介于 0 和 (n - 1) 次之间。选择排序的比较操作为 n (n - 1)/ 2 次之间。选择排序的赋值操作介于 0 和 3 (n - 1) 次之间。 比较次数...
2012-10-18 10:22:26 58
原创 冒泡排序
基本思想: 冒泡排序, 每轮逐一比较相邻的元素, 大数向后交换。 它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,底数为2),但是有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列,而堆排序、快速排序均不具有稳定性。 /** * 冒泡排序, 每轮逐一比较相...
2012-10-18 10:16:57 58
原创 希尔排序
[color=red]基本思想:[/color] 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2...
2012-10-15 00:23:16 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人