
排序
文章平均质量分 56
double_happiness
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
九大排序之——堆排序
堆排序:思想:首先清楚一点堆的低层存储是一个静态数组,可以将它看成是一棵完全二树。先建立初始堆,然后进行堆调整,在进行交换和pop操作,直至完成堆排序为止。堆的分类:最大堆:父节点不小于左右子树最小堆:父节点不大于左右子树堆排算法描述(以大堆为例):(1)首先根据给定的数组简历初始堆,建堆的方式按照层序的方式建立完全二叉树;(2)原创 2017-05-16 13:33:09 · 913 阅读 · 0 评论 -
九大排序之——冒泡排序
冒泡排序原意是说鱼从水底下吐泡泡,然后一直漂浮到水面上的过程,冒泡排序就是不断的将一个元素不断的与后面的元素进行比较,如果大于(升序)就叫交换两个元素的位置,直到比较到末尾元素为止,在将其余元素进行相同的操作,知道所有的元素都排到最终的位置,排序完成。图示举例(单趟冒泡过程):冒泡排序过程:算法步骤:(1)比较相邻元素原创 2017-05-16 13:23:48 · 2365 阅读 · 0 评论 -
九大常见排序总结
九种常基本排序希尔排序:http://blog.csdn.net/double_happiness/article/details/70157030冒泡排序:http://blog.csdn.net/double_happiness/article/details/72231927堆排序:http://blog.csdn.net/double_happine原创 2017-05-18 00:01:48 · 2385 阅读 · 0 评论 -
九大排序之——基数排序
基数排序算法思想:基数排序又称为“桶子法”,从低位开始将待排序的数按照这一位的值放到相应的编号为0~9的桶中。等到低位排完得到一个子序列,再将这个序列按照次低位的大小进入相应的桶中,一直排到最高位为止,数组排序完成。分类:LSD——从低位向高位排MSD——从高位向低位排算法执行步骤:(1)遍历序列找出最大的数(为的是确定最大的数是几位原创 2017-05-17 21:57:01 · 39129 阅读 · 17 评论 -
九大排序之——计数排序
计数排序计数排序步骤:(1)找出待排序的数组中最大和最小的元素;(2)统计数组中每个值为i的元素的出现的次数,存入数组C的第i项;(3)对所有的计数累加;(4)反向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1;图示:代码实现:void CountSort(int* arr,原创 2017-05-17 20:22:40 · 1377 阅读 · 0 评论 -
九大排序之——归并排序
归并排序算法思想:归并操作整体上来看是分治法的应用,不断的划分缩小区间;图示:算法执行步骤:(1)先申请一个和原序列一样大的空间,用来存放合并之后的序列;(2)设定两个指针,最初位置分别为两个已经排序的起始位置;(3)比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;(4)重复步骤(3)直原创 2017-05-17 19:23:59 · 1146 阅读 · 0 评论 -
九大排序之——希尔排序
插入排序分类:直接插入排序:思想:将要排序的序列看成两个序列,一个是有序序列,另一个是无序序列,每次取无序序列中的元素往有序序列中的合适位置插入,直到无序序列为空,排序完成。图解示例(红色为有序序列黑色为无序序列)执行步骤:(1)一个数可以认为是有序的,所以第一次区间划分如上图;(2)在无序序列中取一个数,从有序序列的最后一个数开始向前扫描,原创 2017-04-13 14:24:58 · 1464 阅读 · 0 评论 -
九大排序之——选择排序
选择排序:思想:首先将给定的序列看成是一个有序序列和一个无序序列,选择排序也就是从给定的序列中选取一个最大的(最小的)元素放到有序序列的对应位置,再从剩余的无序序列中挑选一个次大的(次小的)元素放到有序元素的位置,重复上述操作,直到无序序列为空,排序完成。选择排序图示:代码实现:#include using name原创 2017-05-16 13:38:04 · 785 阅读 · 0 评论 -
九大排序之——插入排序
直接插入排序:思想:将要排序的序列看成两个序列,一个是有序序列,另一个是无序序列,每次取无序序列中的元素往有序序列中的合适位置插入,直到无序序列为空,排序完成。图解示例(红色为有序序列黑色为无序序列)执行步骤:(1)一个数可以认为是有序的,所以第一次区间划分如上图;(2)在无序序列中取一个数,从有序序列的最后一个数开始原创 2017-05-16 13:42:45 · 739 阅读 · 0 评论 -
九大排序之——快速排序
快速排序算法思想:快速排序从名字上就可以看出就是为了排序的效率,每次先选择一个关键字key,一般是选择序列的第一个元素或者序列的最后一个元素,将比key值小的元素全部放在左边,将比key值大的放在key值的右边,,然后一层层的递归下去,直至区间中只有一个元素时递归结束,然后在返回上一层,当所有的区间排序完成时,整个排序也就完成了。快速排序常见单趟排序分类原创 2017-05-17 00:05:45 · 3403 阅读 · 0 评论