算法导论笔记

Preface

在这里,我将记录下在参加算法分析与设计课程与阅读算法导论时觉得的应该“划线”的地方。
 

Intro

算法是一个满足下列条件的计算:

  1. 有穷性 / 终止性:有限步内必须停止;
  2. 确定性:每一步都是严格定义和确定的动作;
  3. 能行性:每一个动作都能够被精确地机械执行;
  4. 输入:有一个满足给定约束条件的输入;
  5. 输出:满足给定约束条件的结果。
     

算法分析的数学基础

计算复杂函数的阶

  1. 标记符号:同阶 Θ \Theta , 低/高阶 O / Ω O/\Omega , 严格低/高阶 ο / ω \omicron/\omega (定义,极限)
  2. 要会用渐进符号的性质:传递性、自反性、对称性、转置对称性;
  3. 并非所有函数都是可比的, e . g . e.g. n n n 1 + s i n   n n^{1+sin\ n}

和式

和式的思维导图
其中:

  1. 对于单调通项,向积分放缩 m 1 n f ( x ) d x k = m n f ( k ) m n + 1 f ( x ) d x \int_{m-1}^{n}f(x){\rm d}x\:\leq\:\sum_{k=m}^{n}f(k)\:\leq\:\int_{m}^{n+1}f(x){\rm d}x
  2. 对于这里的c是确定的常数,有例题:
    这里的c是确定的常数,正例图片
    这里的c是确定的常数,反例图片

递归方程

递归方程的思维导图
其中:

  1. 对于减去一个低阶项,有例题::
    减去一个低阶项的例子
  2. 对于换元法,有例题:
    换元法例子
  3. 涉及 , \lceil\:\rceil, \lfloor\:\rfloor 的处理,有例题:
    将n放缩为取整 e.g.1
    n分奇偶项讨论

证明中可能用到的几个事实:

  1. n ! = ο ( n n ) n! = \omicron(n^n)
    l g ( n ! ) = Θ ( l g ( n n ) ) lg(n!) = \Theta(lg(n^n))
  2. n ! = ω ( 2 n ) n! = \omega(2^n)
  3. l g ( n ! ) = Θ ( n   l g n ) lg(n!) = \Theta(n\ lgn)
  4. a > 0 , l g b ( n ) = ο ( n a ) \forall a>0 , \quad lg^b(n) = \omicron(n^a)

对于几个符号,要会用定义,但不能总在定义里面。
ο \omicron ω \omega 的两种定义。
要会用性质:传递性、自反性、对称性、转置对称性。
三分性

发布了8 篇原创文章 · 获赞 2 · 访问量 173

猜你喜欢

转载自blog.csdn.net/ZhifanSk/article/details/104673588