MIT算法导论学习笔记-Lecture2

该讲实际没讲什么算法上的东西,讲的内容有点像时间复杂度O()表示法;但是,讲的更深入,并且着重讲了递归的计算。内容如下:

该讲的主要内容:渐近符号介绍和解决循环

1.      符号表示法

大O表示法:表示<=

大Omega表示法:表示>=

Theta表示法:表示=

这里更正一下上一章的一个点,即Theta表示法不同于大O表示法,如上。

严格不等号表示法:

小o表示法:表示<

小omega表示法:表示>

2.      递归的解决方法

2.1   代换法

该方法分三步:猜,证,解常量

e.g.


2.2   递归树

该方法模拟算法递归执行的时间;

该方法可以为替换法生成猜想;

该方法有可能不可靠(比如说,下图例子中,推导了前三项之后认定其为等比数列,则对其计算是以等比数列进行的,这种直觉或者说是推理,有可能不准确);

该方法提升了直觉方法,即该方法相对于直觉方法还是更准确一点的。

e.g.


2.3  Master Method

该方法适用于特定形式的递归,如下

T(n) = aT(n/b) + f(n)

在上式中,a>=1,b>1,且f渐近为正,即对于足够大的n,f>0.

该方法的执行步骤为(为了清晰起见直接摘自原文档):


该方法的理解:即将f(n)与n^logb(a)比较,前者(f)小于,等于,大于后者分别构成了上述的三种情况,也分别对应了不同的解法,该方法的证明可以参考原文档,将附在下面。

其例子有助于理解该方法:






  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值