Loading docs/graph/traverse.md +2 −30 Original line number Diff line number Diff line 相关内容:[树的遍历](/graph/tree-basic/#_10) ## 在树/图上 DFS 前置知识:[DFS 基础](/search/dfs) 遍历的复杂度是 $O(n + m)$ ### 树上 DFS 在树上 DFS 是这样的一个过程:先访问根节点,然后分别访问根节点每个儿子的子树。 可以用来求出每个节点的深度、父亲等信息。 ### DFS 序列 DFS 序列是指 DFS 调用过程中访问的节点编号的序列。 Loading @@ -22,24 +18,6 @@ DFS 进入某个节点的时候记录一个左括号 `(` ,退出某个节点 每个节点会出现两次。相邻两个节点的深度相差 1。 ### 二叉树上 DFS (图待补) #### 先序遍历 先访问根,再访问子节点。 #### 中序遍历 先访问左子树,再访问根,再访问右子树。 #### 后序遍历 先访问子节点,再访问根。 已知中序遍历和另外一个可以求第三个。 ### 一般图上 DFS 对于非连通图,只能访问到起点所在的连通分量。 Loading @@ -56,12 +34,6 @@ DFS 树有很多性质,比如用来求[强连通分量](/graph/scc) 前置知识:[BFS 基础](/search/bfs) ### 树上 BFS 从树根开始,严格按照层次来访问节点。 BFS 过程中也可以顺便求出各个节点的深度和父亲节点。 ### BFS 序列 类似 BFS 序列,BFS 序列是指在 BFS 过程中访问的节点编号的序列。 Loading docs/graph/tree-basic.md +29 −1 Original line number Diff line number Diff line Loading @@ -136,7 +136,35 @@ int child[N][2]; ## 树的遍历 <!-- TODO: 将「图的遍历」一篇的树上 DFS 内容移到这里 --> ### 树上 DFS 在树上 DFS 是这样的一个过程:先访问根节点,然后分别访问根节点每个儿子的子树。 可以用来求出每个节点的深度、父亲等信息。 ### 二叉树上 DFS (图待补) #### 先序遍历 先访问根,再访问子节点。 #### 中序遍历 先访问左子树,再访问根,再访问右子树。 #### 后序遍历 先访问子节点,再访问根。 已知中序遍历和另外一个可以求第三个。 ### 树上 BFS 从树根开始,严格按照层次来访问节点。 BFS 过程中也可以顺便求出各个节点的深度和父亲节点。 ### 无根树 Loading Loading
docs/graph/traverse.md +2 −30 Original line number Diff line number Diff line 相关内容:[树的遍历](/graph/tree-basic/#_10) ## 在树/图上 DFS 前置知识:[DFS 基础](/search/dfs) 遍历的复杂度是 $O(n + m)$ ### 树上 DFS 在树上 DFS 是这样的一个过程:先访问根节点,然后分别访问根节点每个儿子的子树。 可以用来求出每个节点的深度、父亲等信息。 ### DFS 序列 DFS 序列是指 DFS 调用过程中访问的节点编号的序列。 Loading @@ -22,24 +18,6 @@ DFS 进入某个节点的时候记录一个左括号 `(` ,退出某个节点 每个节点会出现两次。相邻两个节点的深度相差 1。 ### 二叉树上 DFS (图待补) #### 先序遍历 先访问根,再访问子节点。 #### 中序遍历 先访问左子树,再访问根,再访问右子树。 #### 后序遍历 先访问子节点,再访问根。 已知中序遍历和另外一个可以求第三个。 ### 一般图上 DFS 对于非连通图,只能访问到起点所在的连通分量。 Loading @@ -56,12 +34,6 @@ DFS 树有很多性质,比如用来求[强连通分量](/graph/scc) 前置知识:[BFS 基础](/search/bfs) ### 树上 BFS 从树根开始,严格按照层次来访问节点。 BFS 过程中也可以顺便求出各个节点的深度和父亲节点。 ### BFS 序列 类似 BFS 序列,BFS 序列是指在 BFS 过程中访问的节点编号的序列。 Loading
docs/graph/tree-basic.md +29 −1 Original line number Diff line number Diff line Loading @@ -136,7 +136,35 @@ int child[N][2]; ## 树的遍历 <!-- TODO: 将「图的遍历」一篇的树上 DFS 内容移到这里 --> ### 树上 DFS 在树上 DFS 是这样的一个过程:先访问根节点,然后分别访问根节点每个儿子的子树。 可以用来求出每个节点的深度、父亲等信息。 ### 二叉树上 DFS (图待补) #### 先序遍历 先访问根,再访问子节点。 #### 中序遍历 先访问左子树,再访问根,再访问右子树。 #### 后序遍历 先访问子节点,再访问根。 已知中序遍历和另外一个可以求第三个。 ### 树上 BFS 从树根开始,严格按照层次来访问节点。 BFS 过程中也可以顺便求出各个节点的深度和父亲节点。 ### 无根树 Loading