1. 计数排序已知输入数组input[0...n-1], 任意 x IN input[], 如果已知有C[x]个数 = 0; j--)16 { 17 output[C[key(input[j])] - 1] = input[j];18 C[key(inpu...
分类:
编程语言 时间:
2015-02-26 11:33:51
阅读次数:
231
桶排序是一种稳定的排序方法,也是一种外排序。
桶排序的时间复杂度:最坏情况运行时间:当分布不均匀时,全部元素都分到一个桶中,则O(n^2),当然[算法导论8.4-2]也可以将插入排序换成堆排序、快速排序等,这样最坏情况就是O(nlgn)。最好情况运行时间:O(n)。
也就说,前面介绍的排序算法要么是O(n^2),要么是O(nlogn),只有桶排序是可能实现O(n)排序的...
分类:
编程语言 时间:
2015-02-25 18:44:00
阅读次数:
184
基排序是外排序,稳定的排序算法。
它的时间复杂度:O(d(r+n)),d为每个数的长度,r表示基数,n表示数组中元素的个数。
基数排序是另外一种比较有特色的排序方式,它是怎么排序的呢?我们可以按照下面的一组数字做出说明:12、 104、 13、 7、 9
(1)按个位数排序是12、13、104、7、9
(2)再根据十位排序104、7、9、12、13
(3)再根据百...
分类:
编程语言 时间:
2015-02-25 18:42:17
阅读次数:
169
转自tangjz的博客...基础算法模拟搜索广度优先搜索(BFS)优化:双向BFS深度优先搜索(DFS)优化:折半DFS迭代加深搜索(IDS)启发式搜索(Astar)优化:IDAstar优化:剪枝、位运算排序冒泡排序/选择排序基数排序/桶排序计数排序插入排序/希尔排序快速排序归并排序/求逆序对数堆排...
分类:
编程语言 时间:
2015-02-23 10:50:21
阅读次数:
330
八大排序算法实现
插入排序算法实现
希尔排序算法实现
选择排序算法实现
冒泡排序算法实现
归并排序算法实现
快速排序算法实现
堆排序算法实现
基数排序算法实现...
分类:
编程语言 时间:
2015-02-15 15:11:43
阅读次数:
154
基数排序就不多说了,其思路如下:0. 输入为n个整数,每个数字为b位1. 把整数拆分为b/r“位”, 每个"位"的长度为r(十进制长度)2. 由低到高分别对每个“位”作计数排序值得一说的是,为使算法效率最高,r应该为lgn(取整),然而实现中没有限定r的大小,可以自行设定。不多说,上代码:(Radi...
分类:
编程语言 时间:
2015-02-14 20:02:17
阅读次数:
247
内存不够用,用计数排序可以解决问题。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusin...
分类:
编程语言 时间:
2015-02-10 00:22:57
阅读次数:
173
在基数排序( radix sort)中,把数按照某种基数分解为数字,然后对数字进行排序。例3-1 假定对范围在 0 ~ 9 9 9之间的 1 0个整数进行排序。如果使用 r a n g e = 1 0 0 0来调用 B i n S o r t,那么箱子的初始化将需要 1 0 0 0个执行步,节点分配...
分类:
编程语言 时间:
2015-02-05 18:10:13
阅读次数:
229
Given an unsorted array, find the maximum difference between the successive elements in its sorted form.
Try to solve it in linear time/space.
Return 0 if the array contains less than 2 elements. ...
分类:
其他好文 时间:
2015-02-05 09:38:18
阅读次数:
271
1 #include 2 #include 3 4 int a[10010],w[10010],p[10010],o[10010]; 5 6 void Barrel_Sort(int *a,int n,int mx) 7 { 8 int i; 9 memset(w,0,size...
分类:
编程语言 时间:
2015-02-02 12:31:22
阅读次数:
210