排序算法
文章平均质量分 67
All_BIue
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常见排序算法之直接选择排序
直接选择排序:算法原理:直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,….,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,…..,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,原创 2016-10-09 21:04:38 · 336 阅读 · 0 评论 -
常见排序算法之归并排序
归并排序算法思想:将待排序序列R[0…n-1]看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n/2个长度为2的有序表;将这些有序序列再次归并,得到n/4个长度为4的有序序列;如此反复进行下去,最后得到一个长度为n的有序序列。工作原理:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置 第三步:比原创 2016-10-09 21:07:00 · 407 阅读 · 0 评论 -
常见排序算法之直接插入排序
直接插入排序:算法原理:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。复杂度:时间复杂度 O(n2) ,空间复杂度O(1)稳定性:插入排序是稳定的,排序前后两个相等元素相对次序不变(能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式原创 2016-10-09 21:10:23 · 329 阅读 · 0 评论 -
常见排序算法之快速排序
快速排序:算法思想:思想:找一个记录,以它的关键字作为“枢轴”,凡其关键字小于枢轴的记录均移动至该记录之前,反之,凡关键字大于枢轴的记录均移动至该记录之后。致使一趟排序之后,记录的无序序列 R[s..t]将分割成两部分:R[s..i-1]和R[i+1..t], 且 R[j].key≤ R[i].key ≤ R[j].key (s≤j≤i-1) 枢轴(i+1≤j≤t)。 例如:关键字序列 52原创 2016-10-09 21:12:22 · 953 阅读 · 0 评论 -
常见排序算法之希尔排序
希尔排序:希尔排序是基于插入排序的一种改进。希尔排序基本思想:以下摘自文字摘自(写的确实很好): http://www.cnblogs.com/kkun/archive/2011/11/23/2260288.html 第一块希尔排序介绍准备待排数组[6 2 4 1 5 9]首先需要选取关键字,例如关键是3和1(第一步分成三组,第二步分成一组),那么待排数组分成了以下三个虚拟组:[6 1]一组[2原创 2016-09-30 22:35:18 · 1112 阅读 · 0 评论 -
常见排序算法之冒泡排序
一、冒泡排序:算法实现过程:1)首先,从第一个元素开始,比较该元素与该元素相邻的下一个元素的大小(即第一个元素与第二个元素的大小),如果该元素比较大则交换位置,否则不交换位置。 2)按照1的步骤不断重复的比较下一元素与其相邻元素之间的大小,直到第n-1个元素,第一趟比较结束。例如:接下去是第二个元素,重复 1 的步骤,比较其与其相邻下一元素大小(即第二个元素与第三个元素的大小),大则交换位置,否则原创 2016-09-29 21:52:26 · 357 阅读 · 0 评论 -
排序算法之堆排序
堆排序:什么是堆:堆是一颗完全二叉树。堆又分大顶堆跟小顶堆,大顶堆即其任意一个非叶子结点都不小于其子节点,即key[i]>=key[2*i+1]&&key[i]>=key[2*i+2],如下图: 小顶堆即其任意一个非叶子结点都不大于其子节点,即满足Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]。 如下图:堆排序复杂度:对于n个关键字序列,最坏情况下每个节点需比较log2原创 2016-10-01 19:13:49 · 1925 阅读 · 0 评论
分享