数据结构与算法读书笔记-2(复杂度分析)

  https://time.geekbang.org/column/article/40036

  1. 复杂度分析是算法的精髓
  2. 事后统计法(运行代码进行测试)  
    1. 测试结果非常依赖测试环境

    2. 测试结果受数据规模的影响很大

  3. 大 O 复杂度表示法(估算代码执行时间)

    1. 假设每行代码执行的时间都是一样的(单位时间)、那么代码执行的时间就和代码执行的次数成正比

    2. 时间复杂度

      1. 是什么 ? T(n) = O(f(n))  -> f(n)即是我们常说的复杂度
      2. 怎么分析? n表示数据的规模大小 , T(n) 表示代码执行的时间,f(n) 表示代码执行的次数,O表示T(n)和f(n)成正比
      3. 有哪些?
        1. 多项式量级
          1. O(1)常量阶 -> 代码执行时间不随n变大而变大
          2. O(logn),O(nlogn) 忽略对数的底,归并排序和快速排序都是O(nlogn)
          3. O(m+n),O(m*n)
        2. 非多项式两级
          1. O(2n) 和 O(n!)  
    3. 空间复杂度
      1. 分析变量申请空间

 

posted @ 2018-10-15 20:51  渠成  阅读(79)  评论(0)    收藏  举报