http://acm.hdu.edu.cn/showproblem.php?pid=2292题意:1-n个节点,题目给出了完全二叉树的定义(这个定义似乎有歧义,此题以题目描述为准),且要保持最小堆性质(根节点小于左右子树内的任意元素),问有多少种不同组合解法:dp,dp[n]表示n个元素的合法排列数...
分类:
其他好文 时间:
2014-05-07 16:58:58
阅读次数:
300
算法设计中经常会用到递归,利用递归式的方法可以清晰地显示算法的整个过程,而对于分析算法的复杂度,解递归式就有了用处,这里的方法来自于《算法导论》。
1. 代换法
代换法只能用于解那种很容易猜的情形,它可用来确定一个递归式的“O”和“Ω”界。
举例,确定递归式 T(n) = 2*T(└n/2┘) + n 的一个“O”界
1.1 先猜测有某个界存在
由于这个递归式与合并排序的计算...
分类:
其他好文 时间:
2014-05-07 16:07:15
阅读次数:
413
树的实现
记住上一节树的定义,在定义的基础上,我们用以下的函数创建并操作二叉树:
BinaryTree() 创建一个二叉树实例 getLeftChild() 返回节点的左孩子 getRightChild() 返回节点的右孩子 setRootVal(val) 把val变量值赋给当前节点 getRootVal() 返回当前节点对象。 insertLeft(val) 创建一个新二叉树作为当前...
分类:
编程语言 时间:
2014-05-07 15:58:43
阅读次数:
504
本文出自: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
来看一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出,例如:你给出的参数是"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