![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
快速排序
文章平均质量分 56
Felix_CY
这个作者很懒,什么都没留下…
展开
-
一种复杂度的为O(n)的排序方法
1. 有一种算法却不用比较,而他的时间复杂度是O(n),那就是计数排序,这个算法的思路是这个样子的,如果由小到大排序,首先建立一个足够大的数组a[INF];把数组清0,当输入一个数m的时候 那么执行a[m]++; 这样a[m]就是1了 如果再有同一个数等于m那么就是a[m]=2......最后输入n个数之后,我们从a[0]开始 如果a[0]等于0那么相当于n个转载 2017-04-06 22:23:07 · 578 阅读 · 0 评论 -
快速排序
设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。 一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i=0,j=N-...原创 2017-03-13 20:26:07 · 260 阅读 · 0 评论 -
几种排序算法
八大经典排序算法:http://blog.csdn.net/mpk_no1/article/details/76397713 1. 堆排序平均性能:O(N*logN)。定义:堆排序是利用堆积树这种结构的一种排序算法,是选择排序的一种。堆分为大根堆和小根堆。大根堆要求每个节点的值都不大于 其父节点的值,由大根堆的要求可知,最大值一定在堆顶。思想:1. 将初始序列(R0,R1...,Rn)构建成大顶堆...转载 2018-03-21 21:48:46 · 166 阅读 · 0 评论 -
【堆】堆的定义以及堆排序
堆的定义:堆是一类特殊的数据结构统称,堆通常可以被看做一颗树的数组对象。堆满足下列性质:1)堆中某个节点的值总是不大于或不小于其父节点的值2)堆总是一颗完全二叉树。完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。满二叉树:树中除了叶子节点,每个节点都有两个子节点完美二叉树:满足完全二叉树性质,树的叶子节点均在最后一层(也就是形成...原创 2018-09-07 14:05:06 · 4201 阅读 · 0 评论