码迷,mamicode.com
首页 >  
搜索关键字:线性时间排序 计数排序 基数排序 桶排序    ( 1173个结果
模板 - 基数排序
```cpp include using namespace std; typedef long long ll; const int MAXK = 28; const int K = 4; const int BASE = 1 k) & (BASEMO)]++; for(int i = 1; i ...
分类:编程语言   时间:2019-08-20 00:40:37    阅读次数:93
Java八大排序之基数排序
基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r ...
分类:编程语言   时间:2019-08-17 12:52:39    阅读次数:102
排序算法 - 基数排序
基本思想 基数排序是借助“分配”和“收集”两种操作对单逻辑关键字进行排序的一种内部排序方法。 数组下标从0-9,每个数组元素是一个链表 比如对一些三位数以内的树排序,先将个位的数值插入对应的下标的链表中,然后再放回原数组,放回的顺序和插入的顺序一致,将链表清空,再将十位的数字插入对应的下标的链表中, ...
分类:编程语言   时间:2019-08-15 23:11:37    阅读次数:176
排序算法 - 计数排序
基本思想 计数排序是一种线性排序算法,它利用了一个数组,因为数组下标的增长是线性的,所以它就把自己的元素转换成新开辟数组的下标。可是下标都是非负数啊?数组当中的值有正有负啊。做一个简单的转化就行了:找到数组中最小元素,用元素值减去,这样一来,所有元素对应的下标就求出来了。(实际上感觉像是个映射函数? ...
分类:编程语言   时间:2019-08-15 22:49:00    阅读次数:119
计数思想(类似于hash值)
//判断数组中是否有重复元素,最直接的思路是用双层循环判断(O(n ^ 2)); //也可以先排序,后比较,但基于比较的排序时间复杂度至少为O(n*logn).//所以,这些思路都不行。根据题目的限制条件,很容易想到用计数排序,时间复杂度为O(n),这当然满足题意,但是,把计数排序用在此处,无疑是大 ...
分类:其他好文   时间:2019-08-11 15:29:30    阅读次数:107
桶排序
排序算法中最快、最简单的排序算法,及其耗费内存。 原理 把同类元素放在相同的桶里,每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序),桶本身是有序的! 1、确定桶的数量; 2、遍历列表,把元素放到对应的桶里; 3、重复2; 4、把排序好的元素放回原列表,知道排序完成; ...
分类:编程语言   时间:2019-08-09 23:50:01    阅读次数:97
【模板】后缀数组
模板改自jdr和ldl学长$qwq$ 后缀数组,顾名思义,就是对于一个字符串的每一个后缀的数组。 比如对于字符串fatcat,其所有后缀如下: fatcat atcat tcat cat at t 其按照字典序排序结果如下: at atcat cat fatcat t tcat 一般来说,对于每个后 ...
分类:编程语言   时间:2019-08-09 13:17:35    阅读次数:85
好程序员Java学习路线分享5分钟了解基数排序
好程序员Java学习路线分享5分钟了解基数排序,前言:基数排序无需进行比较和交换,而是利用分配和收集两种基本操作实现排序。基数排序分为两种:第一种是LSD,从最低位开始排序;第二种是MSD,从最高位开始排序。基数排序思想介绍分配:对于数字,每位的取值范围是0-9,因此需要10个容器(我们可以将其称为桶),这10个桶标号为0-9。每趟排序时,我们取每一个元素在该位的数值依次放入桶中。收集:在一趟
分类:编程语言   时间:2019-08-07 17:39:42    阅读次数:129
模拟11题解
T1[A. string]「桶排序」「线段树」 线段树维护区间的每个字母出现了多少次, 在排序的时候,先查询一个区间的每个字母的出现次数,然后挨个区间赋值 复杂度 $O(mlog(n)*26)$ 优化常数(26):定义f(懒标记):f!=0时,代表子树都被赋值为了同一个值;f==0,表示不相等。 将 ...
分类:其他好文   时间:2019-08-02 22:32:43    阅读次数:161
经典排序 python实现
稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。 不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。 冒泡 选择 选择排序的思想是将序列分为有序和无序两个部分,不断从无序序列中选择最小的增加到有序序列中,这样,序列就从小到大排列整齐。 插入排序 插入排序原理是将当前元素与前面的元素比 ...
分类:编程语言   时间:2019-07-27 15:41:20    阅读次数:127
1173条   上一页 1 ... 17 18 19 20 21 ... 118 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!