算法入门

一开始本来想起题名“算法导论”,但是感觉这题名写100篇文章也写不完,秉着起个贱名好养活的精神,于是“算法入门”诞生了。

这篇文章是“学习”网站B站上的麻省理工学院公开课:算法导论的学习笔记



运行时间

  • 与输入有关
  • 输入规模

程序运行上界(代表了某种保证)

分析类型

  • 最坏情况(经常使用)
    T(n) ——当输入规模为n时所消耗的时间,这里的n代表最大值
  • 平均时间
    期望时间
  • 最好情况
    假象(bogus),一般不会发生
  • 速度
    • 相对速度 —— 相同机器
    • 绝对速度 —— 不同机器

渐进分析

  • 忽略掉与机器有关的常量
  • 不检查代码实际运行时间,只关注增长的时间

渐进符号 θ

  • 丢弃低阶项,忽略常数因子
    e.g. 3n^3^ + 90n^2^ - 5n + 6046 ——> θ(n^3^)
    函数图片
    所谓渐进分析,恰如上图,当n足够大,远远大于n0的时候,θ(n2)是远远大于θ(n3)的,但是若输入规模极小,则θ(n2)和θ(n3)均可以。

参考链接

[1] Thomas H.Cormen、Charles E.Leiserson等《算法导论》机械工业出版社.2006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值