读书笔记 第四章&第五章

第四章主要介绍了如何解递归式,总共三种方法,代换法,递归树法,主方法。

1.代换法(Substitution method)(P38~P40)

定义:即在归纳假设时,用所猜测的值去代替函数的解。

用途:确定一个递归式的上界或下界。

缺点:只能用于解的形式很容易猜的情形。

总结:这种方法需要经验的积累,可以通过转换为先前见过的类似递归式来求解。

2.递归树方法(Recursion-tree method)

起因:代换法有时很难得到一个正确的好的猜测值。

用途:画出一个递归树是一种得到好猜测的直接方法。

分析(重点):在递归树中,每一个结点都代表递归函数调用集合中一个子问题的代价。将递归树中每一层内的代价相加得到一个每层代价的集合,再将每层的代价相加得到递归式所有层次的总代价。

总结:递归树最适合用来产生好的猜测,然后用代换法加以验证。

递归树扩展过程:①.第二章2.3.2节分析分治法时图2-5(P21~P22)的构造递归树过程;②.第四章P41图4-1的递归树构造过程;这两个图需要好好分析。

3.主方法(Master method)

优点:针对形如T(n) = aT(n/b) + f(n)的递归式

缺点:并不能解所有形如上式的递归式的解。

具体分析:

T(n) = aT(n/b) + f(n)描述了将规模为n的问题划分为a个子问题的算法的运行时间,每个子问题的规模为n/b。

在这里可以看到,分治法就相当于a=2, b=2, f(n) = O(n).

主方法主要运用主定理。

第五章

主要围绕一个雇佣问题展开,介绍了概率分析和随机算法。

5.2节的指示器随机变量就是用的高中学的期望,用期望来表示概率。

随机发生在算法上,而不是发生在输入分布上。这就是概率分析与随机算法之间的区别

随机化算法

1.《随机化算法(1) — 随机数》

2.《随机化算法(2) — 数值概率算法》

3.《随机化算法(3) — 舍伍德(Sherwood)算法》

4.《随机化算法(4) — 拉斯维加斯(Las Vegas)算法》

5.《随机化算法(5) — 蒙特卡罗(Monte Carlo)算法》

没有看,暂时还不知道这玩意有什么用

 

posted on 2013-03-29 22:43  Fray  阅读(562)  评论(0编辑  收藏  举报

导航