【算法基础】常用的数据结构与算法
一.复杂度分析
难易程度:Medium
是否重点:10 分
掌握程度:能自行分析大部分数据结构和算法的时间、空间复杂度
二.数组、栈、队列
难易程度:Easy
是否重点:8 分
掌握程度:能自己实现动态数组、栈、队列
三.链表
难易程度:Medium
是否重点:9 分
掌握程度:能轻松写出经典链表题目代码
四.递归
难易程度:Hard
是否重点:10 分
掌握程度:轻松写出二叉树遍历、八皇后、背包问题、DFS 的递归代码
五.排序、二分查找
难易程度:Easy
是否重点:7 分
掌握程度:能自己把各种排序算法、二分查找及其变体代码写一遍就可以了
六.跳表
难易程度:Medium
是否重点:6 分
掌握程度:初学者可以先跳过。如果感兴趣,看懂相关内容即可,不需要掌握代码实现
七.散列表
难易程度:Medium
是否重点:8 分
掌握程度:对于初学者来说,自己能代码实现一个拉链法解决冲突的散列表即可
八. 哈希算法
难易程度:Easy
是否重点:3 分
掌握程度:可以暂时不看
九. 二叉树
难易程度:Medium
是否重点:9 分
掌握程度:能代码实现二叉树的三种遍历算法、按层遍历、求高度等经典二叉树题目
十.红黑树
难易程度:Hard
是否重点:3 分
掌握程度:初学者不用把时间浪费在上面
十一.B+ 树
难易程度:Medium
是否重点:5 分
掌握程度:可看可不看
十二.堆与堆排序
难易程度:Medium
是否重点:8 分
掌握程度:能代码实现堆、堆排序,并且掌握堆的三种应用(优先级队列、Top k、中位数)
十三.图的表示
难易程度:Easy
是否重点:8 分
掌握程度:理解图的三种表示方法(邻接矩阵、邻接表、逆邻接表),能自己代码实现
十四. 深度广度优先搜索
难易程度:Hard
是否重点:8 分
掌握程度:能代码实现广度优先、深度优先搜索算法
十五. 拓扑排序、最短路径、A* 算法
难易程度:Hard
是否重点:5 分
掌握程度:有时间再看,暂时可以不看
十六.字符串匹配(BF、RK)
难易程度:Easy
是否重点:7 分
掌握程度:能实践 BF 算法,能看懂 RK 算法
十七.字符串匹配(BM、KMP、AC 自动机)
难易程度:Hard
是否重点:3 分
掌握程度:初学者不用把时间浪费在上面
十八.字符串匹配(Trie)
难易程度:Medium
是否重点:7 分
掌握程度:能看懂,知道特点、应用场景即可,不要求代码实现
十九.位图
难易程度:Easy
是否重点:6 分
掌握程度:看懂即可,能自己实现一个位图结构最好
二十.四种算法思想
难易程度:Hard
是否重点:10 分
掌握程度:可以放到最后,但是一定要掌握!做到能实现 Leetcode 上 Medium 难度的题目
往期精彩回顾
本站qq群704220115,加入微信群请扫码: