
快速排序
文章平均质量分 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 · 655 阅读 · 0 评论 -
快速排序
设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。 一趟快速排序的算法是: 1)设置两个变量i、j,排序开始的时候:i=0,j=N-...原创 2017-03-13 20:26:07 · 288 阅读 · 0 评论 -
几种排序算法
八大经典排序算法:http://blog.youkuaiyun.com/mpk_no1/article/details/76397713 1. 堆排序平均性能:O(N*logN)。定义:堆排序是利用堆积树这种结构的一种排序算法,是选择排序的一种。堆分为大根堆和小根堆。大根堆要求每个节点的值都不大于 其父节点的值,由大根堆的要求可知,最大值一定在堆顶。思想:1. 将初始序列(R0,R1...,Rn)构建成大顶堆...转载 2018-03-21 21:48:46 · 209 阅读 · 0 评论 -
【堆】堆的定义以及堆排序
堆的定义: 堆是一类特殊的数据结构统称,堆通常可以被看做一颗树的数组对象。 堆满足下列性质: 1)堆中某个节点的值总是不大于或不小于其父节点的值 2)堆总是一颗完全二叉树。 完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。 满二叉树:树中除了叶子节点,每个节点都有两个子节点 完美二叉树:满足完全二叉树性质,树的叶子节点均在最后一层(也就是形成...原创 2018-09-07 14:05:06 · 4445 阅读 · 0 评论