Skip to content

主要内容

  • 数据结构复杂度分析

学习目标

  • 数据结构:数组、链表、栈、队列、散列表、⼆叉树、堆、跳表、图、Tire 树
  • 算法: 递归、排序、⼆分查找、搜索、哈希算法、贪⼼算法、分治算法、回溯算法、动态规划、字符串匹配算法

主要心得

  • 计算机的两个功能:存储 计算
  • 数据结构与算法与程序运行息息相关,要想代码耐得住推敲,能满足更多更复杂的任务,减少 bug 提高性能,必须要了解底层数据的存储以及运算逻辑。因此数据结构与算法是程序员的内功。必须要重视,会议

常见复杂度量级

  • 常量阶 1
  • 对数阶 log n
  • 线性阶 n
  • 线性对数阶 nlog n
  • 平方阶 n*n
  • 立方阶 nnn
  • 指数阶 2^n
  • 阶乘阶 n!

其他内容

  • 复杂度量级粗略地分为两类:多项式量级和⾮多项式量级;⾮多项式量级只有两个:O(2 )和 O(n!)。

复杂度的分析法则

  • 单段看高频,比如循环
  • 多段取最大,比如单循环,多重循环,复杂度取多循环
  • 嵌套取乘积,比如递归,多重循环
  • 多个规模求加法,比如方法有俩参数控制两个循环次数,比如 n+n,2n,取二者复杂度相加

Updated at:

Released under the MIT License.