码迷,mamicode.com
首页 >  
搜索关键字:复杂度    ( 16171个结果
《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——质数检验
2014.07.07 16:46简介: 对于比较小的正整数n,我们习惯用逐个整除的方法检验n是否为质数。这种算法的复杂度是O(n^0.5)。对于int范围内的整数(最大是2147483647),开方以后不到五万,对于单次计算几乎是一瞬间完成,因此可以接受。但如果n是一个大数,比如10^100,这种....
分类:编程语言   时间:2014-07-09 00:49:12    阅读次数:269
【LeetCode】Linked List Cycle
题目 Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using extra space? 解答 首先要注意空链表不成环;不能开额外的空间,即空间复杂度是o(1),可采用“快慢指针”查检查链表是否含有环,如果在快的指针能够追上慢的指针,则有环,否...
分类:其他好文   时间:2014-07-08 19:17:47    阅读次数:160
利用辛达拉姆筛进行素数判定
1 常规判定方法        素数判定问题就是对给定的正整数n判定是否为素数。所谓素数,是指恰好有2个约数的整数。因为n的约数都不超过n,所以只需要检查2~n-1的所有整数是否整除n就能判定是不是素数。不过,我们还能进一步优化。如果d是n的约数,那么n/d也是n的约数。由n=d*n/d可知min(d,n/d),所以只需要检查2~的所有整数就足够了。此时,素数判定的复杂度为O()。代码实现如下:...
分类:其他好文   时间:2014-07-08 16:00:24    阅读次数:309
算法导论——lec 07 快速排序
一、 快速排序的描述 1、 快速排序是一种原地排序的算法,最坏情况下的时间复杂度为Θ(n^2),期望的运行时间为Θ(n logn),且其中隐含的常数因子较小。 2、 快速排序分三个步骤: 分解:数组A[p...r]被划分成两个数组A[p...q-1]和A[q+1...r],使得A[p...q-1]中的元素都小于等于A[q],A[q+1...r]中的元素都大于等于A[q]。下标q在这个划分过程...
分类:其他好文   时间:2014-07-08 15:31:28    阅读次数:203
字符串查找算法-KMP
最近又重新学习了KMP算法,相比一般的暴力搜索,其对于“搜索陷阱”进行了优化处理。从而降低了时间复杂度。该算法最酷的地方在于准确找到了“搜索陷阱”的模板(or规律)。从而进行了特殊处理。...
分类:其他好文   时间:2014-07-08 14:55:04    阅读次数:209
巧妙的邻接表(数组实现)
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。4 51 4 94 3 81 2 52 4 61 3 7第一行两个整数n m。n表示顶点个数(顶点编号为1~n),...
分类:其他好文   时间:2014-07-06 18:22:26    阅读次数:154
最长单调递增子序列问题
最长单调递增子序列问题 题目:设计一个 O( n ^ 2 )复杂度的算法,找出由 n 个数组成的序列的最长单调递增子序列。 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.i...
分类:其他好文   时间:2014-07-06 11:30:45    阅读次数:176
UVa 10679 - I Love Strings!!
题目:给你一个目标串,和一些模式串,问每个模式串是否在目标串中出现。 分析:字符串,AC自动机。一开始用KMP算法,TLE了才发现会超时,改用AC自动机;             直接利用AC自动机存储,查询即可,然后按顺序输出;             如果模式串中有重复的,直接利用并查集合并即可,朱旭判断父节点。 说明:╮(╯▽╰)╭计算复杂度时,数据组数被忽略了;注意初始化。 #i...
分类:其他好文   时间:2014-07-06 10:46:17    阅读次数:224
编程算法 - 数字在排序数组中出现的次数 代码(C)
数字在排序数组中出现的次数 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 统计一个数字在排序数组中出现的次数.通过折半查找, 找到首次出现的位置, 再找到末次出现的位置, 相减即可.时间复杂度O(logn).代码:/* * main.cpp * * Created on: 2014.6.12 * Author: Spike ...
分类:其他好文   时间:2014-07-06 09:45:25    阅读次数:177
codility上的问题 (36)Natrium 2014
这个题比较简单,好像也比较old,给定一个整数数组A,有N个元素,找到所有下标对(P,Q)满足  0 ≤ P ≤ Q 数据范围N [1..3*10^5]数组元素[-10^9, +10^9]要求时间复杂度O(N),空间复杂度O(N)。分析: 如果b[i] = max{a[i..N - 1]} ,则对每个i,我们找到最大的j,满足b[j]>=a[i],就可以了。这样做的目的是b,反映了后面还有没有比a...
分类:其他好文   时间:2014-07-06 08:30:20    阅读次数:179
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!