桶排序:某区间内排序
来源:互联网 发布:红会福娃娃 知乎 编辑:程序博客网 时间:2024/05/29 08:18
桶排序 (Bucket sort)或所谓的箱排序
是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。
定义
假定:输入是由一个随机过程产生的[0, 1)区间上均匀分布的实数。将区间[0, 1)划分为n个大小相等的子区间(桶),每桶大小1/n:[0, 1/n), [1/n, 2/n), [2/n, 3/n),…,[k/n, (k+1)/n ),…将n个输入元素分配到这些桶中,对桶中元素进行排序,然后依次连接桶输入0 ≤A[1..n] <1辅助数组B[0..n-1]是一指针数组,指向桶(链表)。
小程序:快速排序算法
Console.Write("您打算输入多少组数字?"); string arrary; arrary = Console.ReadLine(); // get a char Console.Write("此次排序的范围在0-??"); string range; range = Console.ReadLine(); // get a char //为每一组赋值 string inputStr; int[] a = new int[Convert.ToInt32(range)]; int i, j; for (int q = 0; q < Convert.ToInt32(range); q++) a[q] = 0; for (int i1 = 0; i1 < Convert.ToInt32(arrary); i1++) { Console.Write("请输入第" + (Convert.ToInt32(i1) + 1) + "数字: "); inputStr = Console.ReadLine(); // get a char a[Convert.ToInt32(inputStr)]++; Console.WriteLine("你输入的第" + (Convert.ToInt32(i1) + 1) + "数字: " + inputStr); } for (i = 0; i < Convert.ToInt32(range); i++) { for (j = 1; j <= a[i]; j++) { Console.WriteLine(i); } } Console.ReadKey();
0 0
- 桶排序:某区间内排序
- 某区间内1的数量
- python输出某区间内的素数
- 某区间内1的数量
- 内排序
- 内排序
- 内排序
- 内排序
- 求某区间内的素数(试除法)
- 06多次查询某区间内topk问题
- 统计某区间内的素数并打印显示
- 内排序-归并排序
- 内排序-插入排序
- 内排序-交换排序
- 内排序-选择排序
- 内排序(4):归并排序
- 内排序之插入排序
- 内排序之希尔排序
- 解决服务器不支持emoji表情
- soj1091 指环王 bfs+hash+剪枝
- css中基础padding的小技巧,移动端大用处
- getopt与getopt_long
- ebtables-linux-vyos
- 桶排序:某区间内排序
- SWFUpload在PHP中使用实例
- 快排实现
- class常量池是否引用ref
- js的节点操作:插入,删除,复制,查找节点?
- 检测点10.1
- class常量池字面量
- iOS 捕获全局异常,统一收集
- Mysql表简单的增加、删除、修改、查询语句