Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 789fca8

Browse files
committed
Update 02.Graph-Structure.md
1 parent 76ca59c commit 789fca8

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

‎Contents/08.Graph/01.Graph-Basic/02.Graph-Structure.md

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
#### 1.1.1 邻接矩阵的原理描述
1212

13-
> **邻接矩阵(Adjacency Matrix)**:使用一个二维数组 `adj_matrix` 来存储顶点之间的邻接关系。
13+
> **邻接矩阵(Adjacency Matrix)**:使用一个二维数组 $adj\underline{}matrix$ 来存储顶点之间的邻接关系。
1414
>
15-
> - 对于无权图来说,如果 `adj_matrix[i][j]``1`,则说明顶点 $v_i$ 到 $v_j$ 存在边,如果 `adj_matrix[i][j]``0`,则说明顶点 $v_i$ 到 $v_j$ 不存在边。
16-
> - 对于带权图来说,如果 `adj_matrix[i][j]``w`,并且 `w != float('inf')`,则说明顶点 $v_i$ 到 $v_j$ 的权值为 `w`。如果 `adj_matrix[i][j]``float('inf')`,则说明顶点 $v_i$ 到 $v_j$ 不存在边。
15+
> - 对于无权图来说,如果 $adj\underline{}matrix[i][j]$1ドル$,则说明顶点 $v_i$ 到 $v_j$ 存在边,如果 $adj\underline{}matrix[i][j]$0ドル$,则说明顶点 $v_i$ 到 $v_j$ 不存在边。
16+
> - 对于带权图来说,如果 $adj\underline{}matrix[i][j]$$w$,并且 $w \ne \infty$(即 `w != float('inf')`),则说明顶点 $v_i$ 到 $v_j$ 的权值为 $w$。如果 $adj\underline{}matrix[i][j]$$\infty$(即 `float('inf')`),则说明顶点 $v_i$ 到 $v_j$ 不存在边。
1717
1818
在下面的示意图中,左侧是一个无向图,右侧则是该无向图对应的邻接矩阵结构。
1919

@@ -22,20 +22,17 @@
2222
邻接矩阵的特点:
2323

2424
- 优点:实现简单,并且可以直接查询顶点 $v_i$ 与 $v_j$ 之间是否有边存在,还可以直接查询边的权值。
25-
- 缺点:初始化效率和遍历效率较低,空间开销大,空间利用率低,并且不能存储重复边,也不便于增删节点。如果当顶点数目过大(比如当 $n > 10^5$)时,使用邻接矩阵建立一个 `n * n` 的二维数组不太现实。
25+
- 缺点:初始化效率和遍历效率较低,空间开销大,空间利用率低,并且不能存储重复边,也不便于增删节点。如果当顶点数目过大(比如当 $n > 10^5$)时,使用邻接矩阵建立一个 $n \times n$ 的二维数组不太现实。
2626

2727
#### 1.1.2 邻接矩阵的算法分析
2828

29-
邻接矩阵的时间复杂度:
29+
- **时间复杂度**:
30+
- **初始化操作**:$O(n^2)$。
31+
- **查询、添加或删除边操作**:$O(1)$。
32+
- **获取某个点的所有边操作**:$O(n)$。
33+
- **图的遍历操作** :$O(n^2)$。
3034

31-
- 图的初始化和创建操作:$O(n^2)$。
32-
- 查询是否存在某条边:$O(1)$。
33-
- 遍历某个点的所有边:$O(n)$。
34-
- 遍历整张图:$O(n^2)$。
35-
36-
邻接矩阵的空间复杂度:
37-
38-
- 空间复杂度:$O(n^2)$。
35+
- **空间复杂度**:$O(n^2)$。
3936

4037
#### 1.1.3 邻接矩阵的代码实现
4138

@@ -89,7 +86,7 @@ graph.printGraph()
8986

9087
#### 1.2.1 边集数组的原理描述
9188

92-
> **边集数组(Edgeset Array)**:使用一个数组来存储存储顶点之间的邻接关系。数组中每个元素都包含一条边的起点 `vi`、终点 `vj` 和边的权值 `val`(如果是带权图)。
89+
> **边集数组(Edgeset Array)**:使用一个数组来存储存储顶点之间的邻接关系。数组中每个元素都包含一条边的起点 $v_i$、终点 $v_j$ 和边的权值 $val$(如果是带权图)。
9390
9491
在下面的示意图中,左侧是一个有向图,右侧则是该有向图对应的边集数组结构。
9592

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /