常见数据结构 复杂度分析 熟练分析常用数据结构和算法的时间和空间复杂度 数组、栈、队列、链表 熟练掌握实现 能够写出经典链表问题代码 散列表 对于从初学者写出一个拉链法解决冲突的链表即可 二叉树 能代码实现二叉树的三种遍历算法、按层遍历、求高度等经典二叉树题目 堆与堆排序 实现堆和堆排序 掌握堆的三种应用:优先级队列、Top K 问题、中位数问题 图 图的三种表示方法(邻接矩阵、邻接表、逆邻接表)以及代码实现 DFS 和 BFS 的原理及其代码实现 四种算法思想:贪心、分治、回溯、动态规划 初学者可忽略:跳表、前缀树、位图、最短路径、拓扑排序、A*算法、哈希算法、B+树、红黑树