码迷,mamicode.com
首页 >  
搜索关键字:基数排序 计数排序 非比较排序    ( 929个结果
排序算法之基数排序
基本思想:BinSort想法非常简单,首先创建数组A[MaxValue];然后将每个数放到相应的位置上(例如17放在下标17的数组位置);最后遍历数组,即为排序后的结果。 过程: 问题: 当序列中存在较大值时,BinSort 的排序方法会浪费大量的空间开销。 基本思想: 基数排序是在BinSort的 ...
分类:编程语言   时间:2019-08-23 13:42:41    阅读次数:115
常见的排序算法
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括: 关于时间复杂度: 平方阶 ...
分类:编程语言   时间:2019-08-21 11:20:44    阅读次数:80
十大排序
比较排序: 冒泡:两两交换 选择:选择末序列最大(最小)值,同对应位置交换 插入:从后往前扫描有序序列 希尔排序:又叫做缩小增量排序,希尔增量:n/2 n/4 ... 1,O(n^2),Hibbard增量:1,3,7,2hk-1,O(n^1.5);下界为O(nlog(2n)) 非比较排序: 桶排序: ...
分类:编程语言   时间:2019-08-20 12:52:14    阅读次数:88
模板 - 基数排序
```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
【模板】后缀数组
模板改自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
929条   上一页 1 ... 12 13 14 15 16 ... 93 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!