学习笔记 程序的基本算法实现 分支 循环 递归 递归的常用场景 对于能抽象成数学递推公式的,类似f(n) = f(n-1) + f(n-2)这样的,并且较难使用循环实现的,可以考虑使用递归方式解决,比如爬楼梯、汉诺塔问题。 基本数据结构 操作 时间复杂度 数组 随机查找 O(n) 索引查找 O(1) 指定节点插入 O(n) 指定节点删除 O(n) 链表 查找 O(n) 指定节点插入 O(1) 指定节点删除 O(1) 基本数据结构实践 特点 栈 先进后出 队列 先进先出 优先队列 数据是按照一定顺序排列的队列 双端队列 两端都可进出的队列