OSDN Git Service

Update traverse.md
author心旷神怡 <greyqz@126.com>
Tue, 2 Oct 2018 07:14:18 +0000 (15:14 +0800)
committerGitHub <noreply@github.com>
Tue, 2 Oct 2018 07:14:18 +0000 (15:14 +0800)
docs/graph/traverse.md

index 1ce28fd..50949ef 100644 (file)
@@ -1,28 +1,26 @@
-## dfs
+## 在树/图上 DFS
 
-[DFS 基础](/search/dfs)
+前置知识:[DFS 基础](/search/dfs)
 
-### 树上 dfs
+### 树上 DFS
 
-在树上 dfs 是这样的一个过程:先访问根节点,然后分别访问根节点每个儿子的子树
+在树上 DFS 是这样的一个过程:先访问根节点,然后分别访问根节点每个儿子的子树。
 
-可以用来求出每个节点的深度、父亲等信息
+可以用来求出每个节点的深度、父亲等信息
 
-### dfs 序列
+### DFS 序列
 
-dfs 序列是指 dfs 调用过程中访问的节点编号的序列。
+DFS 序列是指 DFS 调用过程中访问的节点编号的序列。
 
-我们发现,每个子树都对应 dfs 序列中的连续一段(一段区间)。
+我们发现,每个子树都对应 DFS 序列中的连续一段(一段区间)。
 
 ### 括号序列
 
-dfs 进入某个节点的时候记录一个左括号 `(`,退出某个节点的啥时候记录一个右括号 `)`。
+DFS 进入某个节点的时候记录一个左括号 `(`,退出某个节点的啥时候记录一个右括号 `)`。
 
-每个节点会出现两次
+每个节点会出现两次。相邻两个节点的深度相差 1。
 
-相邻两个节点的深度相差 1。
-
-### 二叉树上 dfs
+### 二叉树上 DFS
 
 (图待补)
 
@@ -32,44 +30,44 @@ dfs 进入某个节点的时候记录一个左括号 `(`,退出某个节点的
 
 #### 中序遍历
 
-先访问左子树,再访问,再访问右子树。
+先访问左子树,再访问,再访问右子树。
 
 #### 后序遍历
 
 先访问子节点,再访问根。
 
-#### 已知中序遍历和另外一个可以求第三个
+已知中序遍历和另外一个可以求第三个。
 
-### 一般图上 dfs
+### 一般图上 DFS
 
 对于非连通图,只能访问到起点所在的连通分量。
 
-对于连通图,dfs 序列通常不唯一
+对于连通图,DFS 序列通常不唯一。
 
-【注】:树的 dfs 序列也是不唯一的。
+注:树的 DFS 序列也是不唯一的。
 
-在 dfs 过程中,通过记录每个节点从哪个点访问而来,可以建立一个树结构,称为 dfs 树。 dfs 树是原图的一个生成树。
+在 DFS 过程中,通过记录每个节点从哪个点访问而来,可以建立一个树结构,称为 DFS 树。 DFS 树是原图的一个生成树。
 
-dfs 树有很多性质,比如用来求 [强连通分量](/graph/scc)
+DFS 树有很多性质,比如用来求 [强连通分量](/graph/scc)
 
-## bfs
+## BFS
 
-[BFS 基础](/search/bfs)
+前置知识:[BFS 基础](/search/bfs)
 
-### 树上 bfs
+### 树上 BFS
 
 从树根开始,严格按照层次来访问节点。
 
-bfs 过程中也可以顺便求出各个节点的深度和父亲节点。
+BFS 过程中也可以顺便求出各个节点的深度和父亲节点。
 
-### bfs 序列
+### BFS 序列
 
-类似 dfs 序列,bfs 序列是指在 bfs 过程中访问的节点编号的序列。
+类似 BFS 序列,BFS 序列是指在 BFS 过程中访问的节点编号的序列。
 
-### 一般图上 bfs
+### 一般图上 BFS
 
 同样,如果原图不连通,只能访问到起点所在的连通分量。
 
-bfs 序列通常也不唯一。
+BFS 序列通常也不唯一。
 
-类似的我们也可以定义 bfs 树:在 bfs 过程中,通过记录每个节点从哪个点访问而来,可以建立一个树结构
+类似的我们也可以定义 BFS 树:在 BFS 过程中,通过记录每个节点从哪个点访问而来,可以建立一个树结构,即为 BFS 树。