排序算法是非常常见的面试笔试问题,考查的一个人的基本功,本文将一些排序做了C++的实现,就当是做个学习总结吧。1、快速排序 快速排序的中心是填坑法,取一个数(这里选取第一个数)作为基准数temp,从队尾开始寻找第一个比基准数小的数a[j],交换a[j]和temp,然后队首开始查找第一个比temp大....
分类:
编程语言 时间:
2014-08-07 03:00:18
阅读次数:
245
Atitit.现实生活中最好使用的排序方法-----ati排序法总结
1. 现在的问题 1
2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置 )//归并排序//基数排序 1
3. 选择排序法 (垃圾...不好使用) 2
4. 堆排序-(雅十垃圾...不好用) 2
5. 希尔排序法 (雅十垃圾...不好用) 3
6. 冒泡排序法 (雅十垃圾......
分类:
其他好文 时间:
2014-08-07 00:53:17
阅读次数:
253
排序算法总结(C语言版)1. 插入排序1.1 直接插入排序1.2 Shell排序2. 交换排序2.1 冒泡排序2.2 快速排序3. 选择排序3.1 直接选择排序3.2 堆排序4. 归并排序4.1 二路归并排序4.2 自然合并排序5. 分布排序5.1 基数排序1.插入排序1.1 直接插入排序...
分类:
编程语言 时间:
2014-08-01 23:04:42
阅读次数:
349
基数排序又叫卡片排序,这是在比较早的时候用的比较多的排序方法。
在现代计算机出现之前,一直用于老式穿孔卡的排序。
说下基数排序的思想,前面我有写一个桶式排序,基数排序的思想是桶式排序的推广。
桶式排序:http://blog.csdn.net/alps1992/article/details/38132593...
分类:
编程语言 时间:
2014-07-27 11:51:53
阅读次数:
257
java基数排序算法代码下载 代码下载地址:http://www.zuidaima.com/share/1550463272684544.htm...
分类:
编程语言 时间:
2014-07-21 11:21:34
阅读次数:
281
任意一个比较排序算法在最坏情况下,都需要做 Ω(n lg n) 次的比较,堆排序和合并排序都是渐进最优的比较排序算法。本文介绍三种以线性时间运行的算法:计数排序、基数排序和桶排序,这些算法都用非比较的一些操作来确定排序顺序。因此,下界 Ω(n lg n) 对它们是不适用的。
分类:
其他好文 时间:
2014-07-14 15:57:36
阅读次数:
263
桶排序
桶排序(Bucket Sort)是对基数排序的一个变种。在排序过程中没有用到计数数组,而是用不同的桶来暂时存储关键字。看一个示意图:
整个过程就是在不断地分配、收集。
在实际应用中,根据桶的创建策略,桶排序也有不同的写法。下面给出两种不同的桶创建方式。一、使用静态队列创建桶。二、使用二维数组模拟桶。...
分类:
其他好文 时间:
2014-07-12 21:48:07
阅读次数:
352
前言
当序列中元素范围比较大时,就不适合使用计数排序。针对这种情况,就有了基数排序,这是一种按位排序。它仍然是以计数排序为基础。
基数排序
基数排序的基数:十进制数的基数自然是10,二进制的基数自然是2。通常有两种按位排序策略:1.高位优先法(most significant digit first,MSD):简单讲就是从高位排起。2.低位优先法(least significant digit first,LSD):它与高位优先相反,从低位排起。从排序效果上看,高位优先比较直观,但却涉及到递归的过程,故...
分类:
其他好文 时间:
2014-07-12 18:56:51
阅读次数:
225
一、计数排序
稳定、 当输入的元素是n 个小区间(0到k)内整数时,它的运行时间是 O(n + k),空间复杂度是O(n)。
const int K = 100;
//计数排序:假设输入数据都属于一个小区间内的整数,可用于解决如年龄排序类的问题
//Input:A[0, ..., n-1], 0 <= A[i] < K
//Output:B[0, ..., n-1], sorting of A...
分类:
其他好文 时间:
2014-07-08 21:24:36
阅读次数:
232
之前我们介绍了几种O(nlgn)的排序算法:快速排序、合并排序和堆排序,本节我们介绍基于比较的排序算法的下界以及几个线性时间的排序算法——计数排序、基数排序、桶排序。...
分类:
其他好文 时间:
2014-07-08 14:10:28
阅读次数:
243