算法导论读书笔记(17)目录动态规划概述钢条切割自顶向下的递归实现使用动态规划解决钢条切割问题子问题图重构解钢条切割问题的简单Java实现动态规划概述和分治法一样,
动态规划 (dynamic programming)是通过组合子问题的解而解决整个问题的。分治法是将问题划分成一些独立的子问题,递归地...
分类:
其他好文 时间:
2014-06-09 22:10:01
阅读次数:
397
题目描述:给定一个数字N,打印从1到最大的N位数此题需要注意以下几点:1.
涉及到大数问题,因为并没有限定 n的取值范围,所以需要采取 字符数组模拟大数运算2. 打印数字时 需要忽略前置03. 我们始终
以n位数为整体,n位所有十进制数其实是 n位从0到9的全排列,可以采用递归解决我们从 数组下标0...
分类:
其他好文 时间:
2014-06-09 16:09:48
阅读次数:
239
#include using namespace std;struct Node{ Node
*next; int elem;};void creatList(Node* &head){ head = new Node; int elem;
cin>>elem; ...
分类:
其他好文 时间:
2014-06-09 16:07:55
阅读次数:
229
wget 是linux上常用的下载命令。下面介绍一下简单的用法:常用的参数有:-b
(background) 将下载任务放到后台下载。-c (continue) 如果文件下载中断,会自动重连,接着下载。-r (recursive)
进行递归下载,比如要下载一个目录,目录中又有二级目录,并且这里也有你...
分类:
其他好文 时间:
2014-06-09 15:29:33
阅读次数:
194
http://poj.org/problem?id=1095先求出n个节点数的二叉树的形态有多少种。卡特兰数f[n]=f[n-1]*(4*n-2)/(n+1);再递归求。
1 #include 2 #include 3 #include 4 #define ll long long 5 #de...
分类:
其他好文 时间:
2014-06-09 15:14:11
阅读次数:
167
首先这一题会溢出,要考虑的大数问题。所以不能用简单的是int类型数来表示(32位无符号int
范围是0x00000000···0xFFFFFFFF),下面主要是非递归的实现代码,自己做了注释方便以后回顾。#include
"stdafx.h"#include using namespace std;...
分类:
其他好文 时间:
2014-06-09 15:10:07
阅读次数:
227
同是递归简单题public class Solution { public boolean
isSameTree(TreeNode p, TreeNode q) { boolean flag = true; if(p == null
&& q == null) ...
分类:
其他好文 时间:
2014-06-09 13:46:23
阅读次数:
275
图的深度优先遍历是树的前序遍历的应用,其实就是一个递归的过程,我们人为的规定一种条件,或者说一种继续遍历下去的判断条件,只要满足我们定义的这种条件,我们就遍历下去,当然,走过的节点必须记录下来,当条件不满足后,我们就return,回到上一层,换个方向继续遍历。模板:
1 //邻接矩阵存储方式 2 b...
分类:
其他好文 时间:
2014-06-08 23:50:57
阅读次数:
420
前日写了个二叉树插入节点的操作,是一个递归函数。在遍历树时发现并没有插入到树中。这可就纳了闷,单步跟踪发现了令我感到奇怪事情,为什么插入函数的参数是指针,而且被改变了,但函数外部为改变呢。请教高人之后豁然开朗。。。对于c语言的指针,初学者有诸多困惑,虽不至于令人害怕,但使用不当,会使程序出错或埋下隐...
分类:
其他好文 时间:
2014-06-08 22:17:35
阅读次数:
295
题目来源:Light OJ 1026 Critical Links
题意:输出桥
思路:模版
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 10010;
struct Edge
{
int u, v;
Edge(){}
Edge(int u, int v):...
分类:
其他好文 时间:
2014-06-08 04:07:05
阅读次数:
235