0
点赞
收藏
分享

微信扫一扫

数据结构学习笔记01

云卷云舒xj 2022-01-18 阅读 46

一,计算

  • hailstone(是否有穷尚无定论) 好算法——最强调“效率”,其次是可读性,健壮性,正确性

二,计算模型

1.图灵机(不懂怎样作为一个计算模型来使用)

  • tape(均匀划分为单元格)
  • 有限的alphabet
  • head
  • state
  • transition function(q,c;d,L/R,p)

2.RAM(没听懂)

三,渐进复杂度

  • 看主流和长远
  • 大O记号:上界
  • 大Omega记号:下界
  • θ记号:以上二者之间

高效解:

  • 常数 O(1)
  • 对数 O(logcn)

有效解:

  • 多项式 O(nc ): 特殊 线性O(n)
  • 幂次的复杂度组足够令人满意!

难解(不存在有效算法)

  • 指数复杂度 O(2n)
  • 例如 2-subset 问题,无法改进成一个多项式复杂度的算法

四,复杂度分析

  • 级数(这个没太明白)
  • 封底估算

五,迭代与递归

  • 减而治之(例如sum)
  • 复杂度分析:递归跟踪分析,检查每个递归,累计相加的时间;递推方程分析
  • 分而治之(二分求和)

六,动态规划

  • 递归是自顶向下的,而迭代是自底向上的。
  • 数组循环移位
举报

相关推荐

0 条评论