算法设计与分析 week1

第一章 算法引论

算法的性质:

① 输入:有零个或多个由外部提供的量作为算法的输入。
② 输出:算法产生至少一个量作为输出。
③ 确定性:组成算法的每条指令是清晰的,无歧义的。
④ 有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。
操作系统是一个在无限循环中执行的程序,因而不是一个算法。操作系统的各种任务可以看成一些单独的问题,每个问题由操作系统中的一个子程序通过特定的算法来实现。该子程序得到输出结果后便终止。

算法复杂性分析

评价一个算法:正确性,健壮性,复杂性,可读性,简单性
算法的复杂性有时间复杂性和空间复杂性之分。
算法的复杂性是算法运行需要的计算机资源的量,需要时间资源的量称为
时间复杂性,需要空间资源的量称为空间复杂性。
主要分析时间复杂度。

渐进性复杂性分析

幂较高的为主项。
t(n)保留T(n)的主项,是算法的渐进复杂性。
当N→∞时,t(N)渐近于T(N)
我们有理由用 t(N)替代T(N)作为算法A 在 N→∞时的复杂性的度量。
渐进上界O: 存在c, n0, n > n0 时,0 ≤f(n) ≤ cg(n) (< 为非紧上界o)
渐进下界Ω:cg(n) ≤ f(n) (<为非紧下界ω)
紧渐进界Θ:Θ(g(n)) = O(g(n)) ∩ Ω(g(n))

性质:
反身性,O,Ω,θ对于自身都成立
对称性:θ双向成立
互对称性:O, Ω互补成立
算术运算:
① O( f )+O(g)=O(max( f, g))。
② O( f )+O(g)=O( f+g)。
③ O( f )O(g)=O( fg)。
④ 如果g(N)=O( f (N)),则O( f )+O(g)=O( f )。
⑤ O(Cf (N))=O( f (N)),其中C 是一个正的常数。
⑥ f=O( f )。

递归方程渐进阶求解

代入法:直接猜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值