对于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
算法设计中经常会用到递归,利用递归式的方法可以清晰地显示算法的整个过程,而对于分析算法的复杂度,解递归式就有了用处,这里的方法来自于《算法导论》。
1. 代换法
代换法只能用于解那种很容易猜的情形,它可用来确定一个递归式的“O”和“Ω”界。
举例,确定递归式 T(n) = 2*T(└n/2┘) + n 的一个“O”界
1.1 先猜测有某个界存在
由于这个递归式与合并排序的计算...
分类:
其他好文 时间:
2014-05-07 16:07:15
阅读次数:
413
本文出自:http://blog.csdn.net/svitter
原题:http://poj.org/problem?id=1141
题意:输出添加括号最少,并且使其匹配的串。
题解: dp [ i ] [ j ] 表示添加括号的个数, pos[ i][ j ] 表示i, j中哪个位置分开,使得两部分分别匹配。
初始值置dp [ i ] [ i ] = 1; 如果只有一个括号,...
分类:
其他好文 时间:
2014-05-07 15:17:21
阅读次数:
367
#pwd#/usr/src/linux-2.6.37#ctags –R * ## 递归建立
tags文件$vi -t tag ## -t 是参数 tag是要查找的变量/函数名ctrl+] 跳转函数定义ctrl+t
跳回函数调用处-----------------------------若一个函数在多...
分类:
其他好文 时间:
2014-05-07 14:02:33
阅读次数:
566
基本命令ls :"列出"文件的基本命令. 但是往往就是因为这个命令太简单,
所以我们总是低估它. 比如, 使用-R选项, 递归选项, ls将会以目录树的形式列出所有文件. 另一个很有用的选项-S, 将会按照文件尺寸列出所有文件, -t,
将会按照修改时间来列出文件, -i选项会显示文件的inode。...
分类:
其他好文 时间:
2014-05-07 02:14:19
阅读次数:
394
递归版
struct Edge
{
int from, to, cap, flow;
Edge(){}
Edge(int from, int to, int cap, int flow) : from(from), to(to), cap(cap), flow(flow){}
};
int n, m, s, t;
vector edges;
vector G[maxn];
bool v...
分类:
其他好文 时间:
2014-05-06 23:39:25
阅读次数:
351
来看一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出,例如:你给出的参数是"abc" 则程序会输出:abc acb bac bca cab cba
这是一个典型的可用递归算法来实现的例子,我们来看一下利用递归的2种不同解法。...
分类:
编程语言 时间:
2014-05-06 23:34:01
阅读次数:
388
题目原文:
Given n, how many structurally unique BST's (binary search trees) that store values 1...n?
For example,Given n = 3, there are a total of 5 unique BST's.
题目理解...
分类:
其他好文 时间:
2014-05-06 22:15:57
阅读次数:
415