码迷,mamicode.com
首页 >  
搜索关键字:复杂度    ( 16171个结果
递归方程时间复杂度计算公式
对于T(n)=a*T(n/b)+c*n^k;T(1)=c的递归关系,有如下结论:if(a>b^k)T(n)=O(n^(logb(a)));if(a=b^k)T(n)=O(n^k*logn);if(ab^k故:T(n)=O(n^(logb(a)))=O(n^2)对于:T(n)=T(n/2)+cn^3a...
分类:其他好文   时间:2014-05-08 00:39:32    阅读次数:930
贪心-Code forces -387B -George and Round
大意:乔治要为比赛命题,共n道,每道题的复杂度给出。他自己已经准备好了m道题,复杂度也给出。若命题的复杂度不低于要求的复杂度,则认为此题合格。 问:乔治尽可能多的用自己的题,那么他最少还得出几道新题? 分析:尽量多用已有的题,就要求对自己的题按复杂度由低到高排序,从头到尾遍历,若能用则用(贪心)。对要求的题也排序是为了便于比较。...
分类:其他好文   时间:2014-05-07 23:23:38    阅读次数:364
递归式求解
算法设计中经常会用到递归,利用递归式的方法可以清晰地显示算法的整个过程,而对于分析算法的复杂度,解递归式就有了用处,这里的方法来自于《算法导论》。 1. 代换法 代换法只能用于解那种很容易猜的情形,它可用来确定一个递归式的“O”和“Ω”界。 举例,确定递归式 T(n) = 2*T(└n/2┘) + n 的一个“O”界 1.1 先猜测有某个界存在 由于这个递归式与合并排序的计算...
分类:其他好文   时间:2014-05-07 16:07:15    阅读次数:413
员工年龄排序
对公司所有员工的年龄进行排序,公司总共有几万名员工,要求时间复杂度为O(n)。 很明显的计数排序题目,员工的年龄肯定在一个范围之内,我们这里假设在0-99之内,算很大了,这样就可以开辟一个长度为100的数组,保存各个年龄的员工的个数。...
分类:其他好文   时间:2014-05-07 15:35:12    阅读次数:286
Kruskal
算法描述:克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复杂度只和边又关系,可以证明其时间复杂度为O(eloge)。算法过程:1.将图各边按照权值进行排序2.将图遍历一次,找出权值最小的边,(条件:此次找出的边不能和已加入最小生成树集合的边构成环),若符合条件,则加入最小生成树的集合中...
分类:其他好文   时间:2014-05-07 13:16:32    阅读次数:290
计数排序
计数排序:它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法 实现原理: 首先将k范围内的数都C[]数组设0,然后遍历一边数组A[],对应的C[A[i]]++, 然后再将A[]数组向高位递加,观察发现每个不同的数字对应的C[]值都是该数字在排序后数组的位置,然后填充重复的数字 代码: #include #include ...
分类:其他好文   时间:2014-05-07 08:50:13    阅读次数:254
wikioi-1748 瑰丽华尔兹 -单调队列优化DP
根据题意,很明显可以推出DP方程。 假如只考虑向左的方向: dp[t][i][j]:  第t个时间段末滑行到i,j最长滑行的距离。 dp[t][i][j]=dp[t-1][i][1..k]+(j-k)=dp[t-1][i][1..k]-k+j(k 最终时间复杂度为O(n*m*k) #include #include #include #include #include using nam...
分类:其他好文   时间:2014-05-07 04:49:13    阅读次数:363
python 安装matplotlib
Ubuntu安装Matplotlibubuntu下安装matplotlib的复杂度远远比windows下复杂的多,相对双击就能解决问题的,现在你需要时不时的解决编译带来的各种问题。1sudo apt-get install python-dev先安装numpy:12python setup.py b...
分类:编程语言   时间:2014-05-07 01:04:09    阅读次数:606
poj3080(Blue Jeans)kmp求多个串公共子串
题意:给出1-10个长度为60的字符串,求出最长的公共子串(长度不能小于3),如果有多个一样长的,输出字典序最短的。 解法:想到kmp时,自己第一反应枚举第一个串的所有子串,在其他所有串中走一遍kmp,复杂度为10*60*60*60,但是发现只需枚举第一个串后缀就可以,每次枚举记录在所有串能走最远中走的最短的那个长度。这样复杂度就成了10*60*60,0ms AC。 代码:/*****...
分类:其他好文   时间:2014-05-06 22:41:38    阅读次数:320
经典排序算法
数值算法:解方程、微积分、数值分析   多用在工程设计 非数值算法:搜索、排序、拆分、合并   多用在系统   一、线性搜索 1.算法 1.1从头开始,依次将每一个元素与查找目标进行比较 1.2或者找到目标,或者找不到目标 2.评估 2.1平均时间复杂度:O(N),线性时间 2.2对数据没有任何规律性要求   穷举法   二、二分搜索(折半搜索) 1.算法 1.1假设表中...
分类:其他好文   时间:2014-05-06 15:36:44    阅读次数:260
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!