码迷,mamicode.com
首页 >  
搜索关键字:线性时间排序 计数排序 基数排序 桶排序    ( 1173个结果
详解桶排序以及排序内容大总结(1)
比较器的使用 1) 比较器的实质就是重载比较运算符 2) 比较器可以很好的应用在特殊标准的排序上 3) 比较器可以很好的应用在根据特殊标准排序的结构上 桶排序思想下的排序 1) 计数排序 2) 基数排序 分析: 1) 桶排序思想下的排序都是不基于比较的排序 2) 时间复杂度为O(N),额外空间负载度 ...
分类:编程语言   时间:2020-01-15 14:07:30    阅读次数:90
详解桶排序以及排序内容大总结(2)
insert interval 给定一组不重叠的时间区间,在时间区间中插入一个新的时间区间(如果有重叠的话就合并区间)。 这些时间区间初始是根据它们的开始时间排序的。 示例1: 给定时间区间[1,3],[6,9],在这两个时间区间中插入时间区间[2,5],并将它与原有的时间区间合并,变成[1,5], ...
分类:编程语言   时间:2020-01-15 13:26:57    阅读次数:83
BucketSort(桶排序)原理及C++代码实现
桶排序假设输入数据服从均匀分布,平均情况下它的时间复杂度为O(n)。 桶排序将输入数据的区间均匀分成若干份,每一份称作“桶”。分别对每一个桶的内容进行排序,再按桶的顺序输出则完成排序。 通常使用链表来实现桶。 代码如下:(仅供参考) void Insert(vector<double> & bkt, ...
分类:编程语言   时间:2020-01-14 20:41:57    阅读次数:115
RadixSort(基数排序)原理及C++代码实现
基数排序是一种思想很值得学习的排序方法。 它突破了正常的排序思维:先排高位,如果高位相同再排次高位,直至最低。它的思想是利用稳定排序从低位开始排,最后再排最高位。 另外它用来划分的位不一定是一位一位的划分,还可以是每几位一组,然后按组从低到高来排序。 事实上,当总位数b等于O(lgn),并且每一组的 ...
分类:编程语言   时间:2020-01-14 20:25:47    阅读次数:68
CountingSort(计数排序)原理及C++代码实现
计数排序是需要假设输入数据的排序之一,它假设输入元素是0到k区间内的一个整数,其中k为某个整数。当k=O(n)时,计数排序的时间复杂度为θ(n)。 因为不是通过比较来排序,所以它的时间复杂度可以达到θ(nlgn)以下。 计数排序是稳定的排序之一。 代码如下:(仅供参考) //计数排序期望输入数据都是 ...
分类:编程语言   时间:2020-01-14 20:25:31    阅读次数:78
DS基数排序
题目描述 给定一组数据,对其进行基数升序排序。 输入 测试次数t 每组测试数据一行:数字个数n,后跟n个数字(整数) 输出 对每组测试数据,输出每趟分配、收集的结果。若分配中该位没有数字,输出NULL。具体输出格式见样例。每组测试数据间以空行分隔。 样例输入 2 10 278 109 63 930 ...
分类:编程语言   时间:2020-01-12 18:22:03    阅读次数:78
计数排序
对每一个输入x,确定小于x的元素的个数利用这一信息,可以直接把x放到它在输出数组中的位置。 假设输入的每一个元素都是0~k之间的整数 void count_sort(int A[], int B[], int k) { int i, j; int* C = (int*)malloc(sizeof(i ...
分类:编程语言   时间:2020-01-07 13:33:33    阅读次数:108
opencl(十七)----基数排序
基数排序原理: 分桶,遍历每一个有效位,根据该位中是0还是1进行分组。 设备代码: __kernel void radix_sort8(__global ushort8 *global_data) { typedef union { ushort8 vec; ushort array[8]; } v ...
分类:编程语言   时间:2020-01-05 22:44:09    阅读次数:117
简单计数排序
1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 void num_Count(int a[],int n,int max) 6 { 7 int i,j; 8 int buc ...
分类:编程语言   时间:2020-01-05 20:27:08    阅读次数:86
转:10大经典算法
0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时 ...
分类:编程语言   时间:2019-12-30 11:41:00    阅读次数:101
1173条   上一页 1 ... 10 11 12 13 14 ... 118 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!