码迷,mamicode.com
首页 >  
搜索关键字:线性时间    ( 426个结果
算法导论第八章线性时间排序
一、线性时间排序算法历史概览 计数排序首先是由 Harold H. Seward 于1954年提出,而且他还提出将计数排序和基数排序进行结合的思想;基数排序是L.J.Comrie于1929年首次在一篇描述卡片穿孔机文档中提出的一种方法,它是从最低有效位开始,对一个有多位数组成的数进行排序的方法;而桶...
分类:编程语言   时间:2015-09-29 14:29:24    阅读次数:374
最大子数组的线性解法
题目出自算法导论第三版,4.1-5.该题中提出“在已知A[1...j]中最大子数组的情况下,可以在线性时间内找出形如A[i...j+1](1<=i<=j+1)的最大子数组”,这一点让我大惑不解。如果这样是线性的话,那遍历数组,总的解法不又是O(N²)了么?又何谈O(N)?必然得在常量时间内找出A[i...
分类:编程语言   时间:2015-09-21 19:11:51    阅读次数:199
扩展KMP
扩展KMP问题给定母串S,子串T。定义n = len(S), m = len(T), exend[i] = S[i....n-1]与T的最长公共前缀,在线性时间复杂度内,求出所有的extend[0....n-1].如果有某个位置i满足extend[i] = m,那么T就肯定在S中出现过,并且进一步知...
分类:其他好文   时间:2015-09-20 00:18:53    阅读次数:184
【算法导论-学习笔记】以线性时间增长的排序——计数排序
计数排序是一种能够达到运行时间能够线性时间θ(n)的排序算法。在排序算法里算是最快的算法之一,当然,他有很强烈的前提。下面开始介绍一下技术排序(Counting Sort)。算法思想计数排序假设n个输入元素中的每一个都是介于0到k之间的整数,此处k为某个整数。这样可以用一个数组C[0..k]来记录待排序数组里元素的数量。当k=O(n)时,计数排序的运行时间为θ(n). 注:关于C[0..k],用...
分类:编程语言   时间:2015-09-18 12:03:25    阅读次数:209
N个未排序的随机数,在线性时间内,求这N个数在数轴上相邻两个数的最大值
1 public class MaxSub 2 { 3 public static void main(String[] args) 4 { 5 int[] a ={5,7,3,1,6,2}; 6 System.out.println(maxSub(...
分类:编程语言   时间:2015-09-17 19:35:42    阅读次数:171
(转) ACM必备(学完一个就加亮一个)不多,就这些!
时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理)指针(...
分类:其他好文   时间:2015-09-01 21:16:57    阅读次数:241
数据结构--排序(下)--基数排序
基数排序前面的算法有一个公关特点,就是基于比较大小来排序的。最坏情况NlogN,除了比较外,在做个些别的事情。桶排序假设我们有N个学生,他们的成绩是0到100之间的整数(于是有M=101个不同的成绩值)。如何在线性时间内将学生按成绩排序?建立101个桶void Bucket_Sort(Element...
分类:编程语言   时间:2015-09-01 10:20:42    阅读次数:343
初学算法-快速排序与线性时间选择(Deterministic Selection)的C++实现
快速排序算法其实只做了两件事:寻找分割点(pivot)和交换数据。 ????所谓寻找分割点,既找到一个预计会在中间位置附近的点,当然尽量越接近中点越好。 ????所谓交换数据,就是把比这个分割点小...
分类:编程语言   时间:2015-09-01 01:54:12    阅读次数:641
KMP算法
KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。举个例子来说,如果我想在字符串s(BBCABCEFABCDACEABCDACD)找是否存在子串t(ABCDABD)。1....
分类:编程语言   时间:2015-08-31 23:15:10    阅读次数:280
我也来刷LeetCode——1、Single Number
这道题目的意思大概是这样: 给我一个整型数组,里面的元素都出现两次,但是有一个元素只出现一次,你要把这个只出现一次的元素给找出来。并且要求算法的时间复杂度为线性,即O(N)。 一开始我思考了很久,始终没有找到方法。若是不限定元素类型为整型,那么根本不可能在线性时间内找到这个只出现一次的元素。...
分类:其他好文   时间:2015-08-26 19:40:03    阅读次数:181
426条   上一页 1 ... 28 29 30 31 32 ... 43 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!