美文网首页
[算法导论]第三章-函数的增长

[算法导论]第三章-函数的增长

作者: Liao_69d6 | 来源:发表于2019-10-05 13:08 被阅读0次

本章主要讲了渐近符号,初看晦涩难懂,其实主要是数学公式太多,“不求甚解”的态度就很好...

渐近记号

主要讲了三个渐近记号,对应三种情况,g(n) 分别是 f(n) 的:

  • 渐近上界O,对应最坏复杂度,0\le f(n) \le cg(n)
  • 渐近下界\Omega,对应最好时的复杂度,0\le cg(n) \le f(n)
  • 渐近确界\Theta,最强的,同时包含了渐近上界渐近下界0 \le c_1g(n) \le f(n) \le c_2g(n)

书中的定义看起来很复杂,其实可以简单理解为无穷大的阶的问题。当n \to \infin时,g(n) 分别是 f(n) 的:

  • 非渐近紧确的上界o高阶无穷大\frac{lim_{n\to \infin}f(n)}{lim_{n\to \infin}g(n)}=0
  • 非渐近紧确的下界\omega,低阶无穷大\frac{lim_{n\to \infin}f(n)}{lim_{n\to \infin}g(n)}=\infin
  • 渐近确界\Theta等阶无穷大\frac{lim_{n\to \infin}f(n)}{lim_{n\to \infin}g(n)}=C

所谓非渐近紧确的,就是上面的不等式里面不能取等号的。

各种比较关系

书中写的传递性自反性对称性转置对称性等,其实就是不等式的传递

最坏复杂度分析

通常算法分析使用渐近上界O,即最坏情况的复杂度,按照马克思的说法就是找到事物的主要矛盾,一般是找到等阶无穷大,取式子里最高阶的那项。

常见复杂度

一般记住下面的强弱关系就行了:
O(1) \lt O(\log(n)) \lt O(n\log(n)) \lt O(n^2) \lt O(n^3) \lt O(2^n) \lt O(n!)
还有一个常用结论:
\log(n!) = \Theta(n\log(n))

标准记号和常用函数

这里也没啥好讲的,复习复习数学知识就好了。

不如顺便来学一下 Latex公式编辑器的语法吧...

Latex 公式语法

Latex是一种强大的排版语法。行内公式写法为$内容$,块级公式写法为两个$:$$内容$$

不等式$\lt f(n) \le cg(n)$0\lt f(n) \le cg(n)

分式\frac{分子}{分母}\frac{分子}{分母}

极限lim_{n\to \infin}f(n)lim_{n \to \infin}f(n)

向下取整\lfloor\rfloor\lfloor x \rfloor

向上取整\lceil\rceil\lceil x \rceil

模等价 9\equiv 3 \pmod{6}: 9\equiv 3 \pmod{6}

多项式求和:

p(n) = \sum_{i=0}^n a_in^i

p(n) = \sum_{i=0}^n a_in^i

指数(上标)a^b: a^b

下标 `a_1·:a_1

对数log_a^b: log_a^b

插播几个对数公式

a = b\log_b^a \\
\log_c^{(ab)} = \log_c^a + \log_c^b \\
\log_b^{a^n} = n\log_b^a \\
\log_b^a = \frac{\log_c^a}{\log_c^b} \\
a^{\log_b^n} = n{\log_b^a} \\

a = b\log_b^a \\ \log_c^{(ab)} = \log_c^a + \log_c^b \\ \log_b^{a^n} = n\log_b^a \\ \log_b^a = \frac{\log_c^a}{\log_c^b} \\ a^{\log_b^n} = n{\log_b^a} \\

相关文章

  • 算法基础+分治策略(算法复习第1弹)

    马上就要算法考试了,好紧张,先复习第一波.... 参考文献(算法导论)+(张莉老师ppt) 函数的增长,对算法效率...

  • [算法导论]第三章-函数的增长

    本章主要讲了渐近符号,初看晦涩难懂,其实主要是数学公式太多,“不求甚解”的态度就很好... 渐近记号 主要讲了三个...

  • 算法导论第3章 - 函数的增长

    渐近记号 渐近紧界既有渐近上界,又有渐近下界Θ(g(n))={ f(n):存在正常数c1,c2和n0,使对所有的n...

  • 好文章索引

    算法 《算法导论》快速指南:我是如何10天入门算法导论的。 - 渗透之美 - 知乎专栏 推荐内容索引 - 老赵点滴...

  • 算法(2)

    上篇算法(1) 一、函数的渐近增长 函数的渐近增长:给定两个函数f(n)和g(n),如果存在一个整数N, 使得对于...

  • 算法导论笔记

    读算法导论 记录一下读算法导论的过程 1.算法 如果问我什么是算法(思考中) 利用数据结构,考虑时间以及空间效率,...

  • 数据结构与算法参考书籍

    数据结构与算法分析 算法 算法导论 java编程思想

  • 给我巨大影响的技术书籍

    算法《算法概论》《算法设计与分析基础》 Anany Levitin《算法引论》Udi Manber《算法导论》《什...

  • 参考书籍

    《啊哈! 算法》 《算法导论》(原书第三版)

  • C++快速排序(算法),小白必备!拿走不谢!

    <算法导论>上面的算法逻辑 QUICKSORT(A, p, r)//快速排序算法 if (p < r ) { q ...

网友评论

      本文标题:[算法导论]第三章-函数的增长

      本文链接:https://www.haomeiwen.com/subject/zlgepctx.html