对于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
大意:乔治要为比赛命题,共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
算法描述:克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复杂度只和边又关系,可以证明其时间复杂度为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
根据题意,很明显可以推出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
Ubuntu安装Matplotlibubuntu下安装matplotlib的复杂度远远比windows下复杂的多,相对双击就能解决问题的,现在你需要时不时的解决编译带来的各种问题。1sudo
apt-get install python-dev先安装numpy:12python setup.py b...
分类:
编程语言 时间:
2014-05-07 01:04:09
阅读次数:
606
题意:给出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