《算法导论》笔记系列之第三章函数的增长

本文详细介绍了《算法导论》第三章中的函数增长记号,包括Θ、Ο和Ω的定义及应用。通过示例解释了如何利用这些记号描述算法的时间复杂度,如插入排序的O(n^2)上界。同时,讨论了ο和ω记号以及渐近运算的性质。此外,回顾了高中数学知识,如多项式、指数、对数和斐波那契数列等,强调了这些基础知识在算法分析中的重要性。
摘要由CSDN通过智能技术生成

第三章的开头提出了三个记号来表示函数的渐近紧确界。

Θ⁆、Ο ⁆和Ω⁆记号:
在每个部分,标出的n0的值是最小的可能值,任何更大的值也将有效。
(a)Θ⁆记号限制一个函数在常量因子内。如果存在正常量n0、c1和c2,使得在no及其右边,f(n)的值总位于c1g(n)和c2g(n)之间或等于它们,那么记f(n)=Θ(g⁆(n))。
(b)Ο⁆记号为函数给出一个在常量因子内的上界。如果存在正数n0和c,使得在n0及其右边,f(n)的值总小于或等于cg(n)的值。那么记f(n)=Ο(g(n))
(c) Ω⁆ 记号为函数给出一个在常量因子内的下界。如果存在正数n0和c,使得在n0及其右边,f(n) 的值总大于或等于cg(n), 那么 记f(n)=Ω(g(n))

记得在第二章中,我们使用O(n^2)来表示算法的运行时间的近似数据级。在书中第三章,作者证明了,即使在数学上, 扔掉低价项,并忽略最高阶项前的系数,这样的等价表示也是成立的。首先是:1/2 n^2−3n=Θ(n^2 ) ⁆ 即:
对正常量c1、c2和n0,使得对所有n>= n0,有: c_1 n^2≤ 1/2 n^2−3n≤ c_2 n^2 ⁆ .
// 使用O记号,我们总是可以仅仅通过检查算法的总体结构就可以 描述算法的运行时间。
证明了渐近上界与f(n)的关系,我们就可以仅仅分析算法的总体结构来描述算法的运行时间。比如在插入排序算法中,一共有两个循环。外循环对n个元素的n-1个都必须进行操作,第二个循环则对每个元素,都要遍历一次已排好序的序列,这序列的最大值也是n,每次遍历的操作时间为O(1),

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值