Replace ":" with "。"

This commit is contained in:
krahets
2023-08-27 22:49:47 +08:00
parent 71692af8c4
commit c5a7323817
47 changed files with 159 additions and 165 deletions

View File

@@ -34,7 +34,7 @@ $$
![有权图与无权图](graph.assets/weighted_graph.png)
常用术语包括:
数据结构包含以下常用术语
- 「邻接 adjacency」当两顶点之间存在边相连时称这两顶点“邻接”。在上图中顶点 1 的邻接顶点为顶点 2、3、5。
- 「路径 path」从顶点 A 到顶点 B 经过的边构成的序列被称为从 A 到 B 的“路径”。在上图中,边序列 1-5-2-4 是顶点 1 到顶点 4 的一条路径。
@@ -52,7 +52,7 @@ $$
![图的邻接矩阵表示](graph.assets/adjacency_matrix.png)
邻接矩阵具有以下特性
邻接矩阵具有以下特性
- 顶点不能与自身相连,因此邻接矩阵主对角线元素没有意义。
- 对于无向图,两个方向的边等价,此时邻接矩阵关于主对角线对称。

View File

@@ -125,11 +125,11 @@
=== "删除顶点"
![adjacency_list_remove_vertex](graph_operations.assets/adjacency_list_remove_vertex.png)
以下是基于邻接表实现图的代码示例。细心的同学可能注意到,**我们在邻接表中使用 `Vertex` 节点类来表示顶点**,这样做的原因有:
以下是基于邻接表实现图的代码示例。细心的同学可能注意到,**我们在邻接表中使用 `Vertex` 节点类来表示顶点**这样做是有原因的。
- 如果我们选择通过顶点值来区分不同顶点,那么值重复的顶点将无法被区分。
- 如果类似邻接矩阵那样,使用顶点列表索引来区分不同顶点。那么,假设我们想要删除索引为 $i$ 的顶点,则需要遍历整个邻接表,将其中 $> i$ 的索引全部减 $1$ ,这样操作效率较低。
- 因此我们考虑引入顶点类 `Vertex` ,使得每个顶点都是唯一的对象,此时删除顶点时就无须改动其余顶点了。
1. 如果我们选择通过顶点值来区分不同顶点,那么值重复的顶点将无法被区分。
2. 如果类似邻接矩阵那样,使用顶点列表索引来区分不同顶点。那么,假设我们想要删除索引为 $i$ 的顶点,则需要遍历整个邻接表,将其中 $> i$ 的索引全部减 $1$ ,这样操作效率较低。
3. 因此我们考虑引入顶点类 `Vertex` ,使得每个顶点都是唯一的对象,此时删除顶点时就无须改动其余顶点了。
=== "Java"

View File

@@ -247,7 +247,7 @@ BFS 通常借助队列来实现。队列具有“先入先出”的性质,这
[class]{}-[func]{graph_dfs}
```
深度优先遍历的算法流程如下图所示,其中:
深度优先遍历的算法流程如下图所示
- **直虚线代表向下递推**,表示开启了一个新的递归方法来访问新顶点。
- **曲虚线代表向上回溯**,表示此递归方法已经返回,回溯到了开启此递归方法的位置。