算法是计算的核心,是计算步骤的描述。 算法离不开数据结构,两者相辅相成。

衡量标准

算法好坏的衡量标准:时间复杂度和空间复杂度。

常见数据结构

线性表:栈,队列,链表。
散列表:散列函数,冲突解决,寻址,动态扩容。
树:二叉树,红黑树,多路查找树等。
图:图搜索。

常见算法

分治,递归,回溯,贪心,动态规划。

掌握算法的 5 个层次

听说

知道名称和功能

了解

知道原理和优缺点

理解

  • 知道过程和实现细节
  • 能描述数据结构和控制流程
  • 知道时间复杂度和空间复杂度

    实现

    能够编程实现

    应用

    能够运用解决实际问题