基本的数据结构知识点总结梳理
数据结构:
栈、队列(deque)、链表、树和二叉树、图
算法:
1、 树的遍历pre_order in_order post_order :递归完成
2、 根据in_order与另一种遍历构树:pre_order|post_order寻找根节点,in_order判断左右子树,递归处理。
3、 根据BFS与DFS构树:由BFS序列中的位置判断结点关系,顺DFS序列依次为每个结点建立关系。应用栈记录父结点。
4、 DFS求连通块
5、 BFS求最短路:适用于无权图,时间复杂度O(n)
6、 拓扑排序:DFS。可用于判断有向图中是否存在环。
7、 欧拉回路。
例题:
6-2 铁轨:栈的应用+模拟
6-3 矩阵链乘:栈的应用计算简单表达式。
6-4 悲剧文本:链表应用+模拟。细节,初始情况想好。
6-5 移动盒子:双向链表+模拟。【对复杂操作追加标记并对应修改其他操作】
6-6 小球下落:模拟全部->找规律->模拟最后一只球
6-8 树:根据中序遍历与后序遍历构树+DFS。
6-9 天平:巧妙递归、回值
6-10 下落的树叶:根据位置递归。
6-14 BFS寻找路径 + 结点信息dir
6-15 给任务排序:toposort
6-17 看图写树:递归 读入+打印。
6-19 自组合:根据正方形构图+toposort寻找有向图中的环
6-20 理想路径:以t为起点bfs构造层次图+依层次输出最小颜色序号路径
Print_ans:依层次考虑,将当前层次所有边序号最小的结点加入下层次要考虑的序列