《算法设计与分析》学习笔记(一)


问题 需要回答的一般性提问,一般含有多个参数,有着自己对应的条件,所有实例构成的抽象的描述。

算法时间复杂度 计数算法所作运算次数。

最坏情况下的时间复杂度W(n)

平均情况下的时间复杂度A(n)


检索 被检索元素x与数组元素 的比较

  • 算法设计步骤
  • 1.问题建模:输入-目标函数-约束条件
  • 2.选择算法,描述算法
  • 3.是否得到最优解,并且证明
  • 4.如果不是,找出反例


NP-hard问题 至今没找到有效算法,至今没人证明对此类问题不存在多项式时间算法。

  • 货郎问题是用蛮力算法解决的,蛮力算法是一种很笨的算法,通过列举各种情况,算出最小工作路径,效率低,例如穷举法。
  • 0-1背包问题 背包容量有限,物品的价值不同,选出最高价值的物品。
  • 双机调度问题 两个机器同时处理一批物品,最短时间。

算法的伪码描述 不是程序代码,只是给出算法的主要步骤。

函数的渐进的界 

O:设f和g是定义域为自然数集N上的函数,若存在整数c和n0,使得对一切n>=n0有 0<=f(n)<=c g(n) 成立,则称f(n)的渐进的上界是g(n),记作:f(n)=O(g(n))。

Ω:设f和g是定义域为自然数集N上的函数,若存在整数c和n0,使得对一切n>=n0有 0<=cg(n)<=f(n) 成立,则称f(n)的渐进的下界是g(n),记作:f(n)=Ω(g(n))。

o:设f和g是定义域为自然数集N上的函数,若任意整数c和n0,使得对一切n>=n0有 0<=f(n)<c g(n) 成立,则称f(n)的渐进的上界是g(n),记作:f(n)=o(g(n))。

w:设f和g是定义域为自然数集N上的函数,若任意整数c和n0,使得对一切n>=n0有 0<=cg(n)<=f(n) 成立,则称f(n)的渐进的下界是g(n),记作:f(n)=w(g(n))。

Ɵ:同时满足O和Ω。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值