码迷,mamicode.com
首页 >  
搜索关键字:基数    ( 1388个结果
后缀数组模板(理解)
字符串的处理真可谓是博大精深,后缀数组这种数据结构我花了两天时间才明白了其构造的过程。主要是代码不好理解。 数据结构: 1.sa数组,就是后缀数组,按照字典序排列,其意义为:sa[i]=k,排第i名的子串是从k位开始的。 2.rank名次数组,其意义为:rank[i]=k,以i为起点的子串排名为k。 很容易看出来两者可以相互转化。 求这两个数组的过程是基于基数排序,计数排序的方法。 下...
分类:编程语言   时间:2014-11-22 12:07:41    阅读次数:199
貌似基数排序
如给定数组{1,3,51,5,512,671,9,67},设计程序,输出{9,671,67,512,51,5,3,1}基本思想是给每一位数字定权重,然后使用如W[671] = 6 * w1 + 7 * w2 + 1 * w3;W的个数由数组中位数最长的数字决定。由数组中数字对应的权值来排序即可程序如...
分类:编程语言   时间:2014-11-18 23:59:09    阅读次数:264
算法导论--------------计数排序and基数排序
计数排序假设n个输入元素中的每一个都介于0和k之间的整数,k为n个数中最大的元素。当k=O(n)时,计数排序的运行时间为θ(n)。计数排序的基本思想是:对n个输入元素中每一个元素x,统计出小于等于x的元素个数,根据x的个数可以确定x在输出数组中的最终位置。此过程需要引入两个辅助存放空间,存放结果的B[1...n],用于确定每个元素个数的数组C[0...k]。算法的具体步骤如下: (1)根据输...
分类:编程语言   时间:2014-11-17 09:17:02    阅读次数:225
常见的9种内部排序(C语言实现)
现在已经把常见的9种内部排序算法都用C语言实现了,为了方便自己和大家查看,就弄了这么一个类似于导航目录的东西。 一、冒泡排序        冒泡排序(C语言版) 二、选择排序        选择排序(C语言版) 三、直接插入排序        直接插入排序(C语言版) 四、希尔排序        希尔排序(C语言版) 五、归并排序        归并排序(C语言版) 六、基数...
分类:编程语言   时间:2014-11-16 14:44:16    阅读次数:211
【BZOJ】1031: [JSOI2007]字符加密Cipher(后缀数组)
http://www.lydsy.com/JudgeOnline/problem.php?id=1031很容易想到这就是将字符串复制到自己末尾然后后缀数组搞出sa然后按区间输出即可。然后换了下模板,将基数排序放到外边#include #include #include #include #inclu...
分类:编程语言   时间:2014-11-13 14:16:56    阅读次数:251
排序算法
1. 介绍 排序算法是将一串数据按照某种特定排序方式(规则)进行排序的算法。分为内部排序和外部排序。 内部排序:指排序数据存储在内存中,依照依照某种排序方式(规则)进行排序。内部排序不适合太大的数据。内部排序的八中排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序、基数.....
分类:编程语言   时间:2014-11-07 16:46:05    阅读次数:233
Excel应该这么玩——5、三种数据:Excel也是系统
Excel最常用的功能就是记录数据,把数据按照行列记录下来。这部分数据是源数据,是业务活动中最原始的流水账,作为后续操作的依据。为了从源数据中得出一定的结论,需要对源数据进行分析得出报表数据。在分析数据的过程中,除了用到根据实际情况变化的源数据,还存在不变的数据,例如各种比例、基数、基础信息,这.....
分类:其他好文   时间:2014-11-06 23:18:34    阅读次数:250
基数排序
1 #include 2 #include 3 const int N = 10000; 4 const int RADIX = 10; 5 int a[N]; 6 int count[RADIX]; 7 void radixSort(int n) 8 { 9 int *bucket ...
分类:编程语言   时间:2014-11-06 21:32:10    阅读次数:178
进制转换算法的C语言实现
进制问题几乎是刚入门计算机时学的东西,即便如此,你知道进制之间是如何转换的吗?下面就来详细说明各进制之间的转换原理。 (一)二、八、十六进制转十进制 2、8、16转10有一个通用的算法,就是用各位上的数乘以本进制的基数的n次幂(n为本位数后面的位数)求值后相加所得。有点绕口是吧?语文没学好,请谅解,下面举个例就懂了。 Eg:100002 =? 10 这是将二进制的10...
分类:编程语言   时间:2014-11-06 17:32:37    阅读次数:219
快速排序QuickSort
前几天实现了直接插入排序、冒泡排序和直接选择排序这三个基础排序。今天看了一下冒泡排序的改进算法,快速排序。单独记录一下,后面还有归并和基数排序等快速排序1.选择一个支点默认为数组第一个元素及array[start]作为支点,将所有大于支点元素的值放到支点后面,将所有小于支点元素的值放到支点前面,完成...
分类:编程语言   时间:2014-11-05 22:58:49    阅读次数:345
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!