在有向图的邻接矩阵中:
- 行(横着看) = 出发站 = 找出度(外发几条线)
- 列(竖着看) = 终点站 = 找入度(进来几条线)
🗺️ 第一步:画一个“有向图”路线图
假设我们现在有 3 个城市:A (城市1)、B (城市2)、C (城市3)。 它们之间修了 4 条单向通行的马路:
- A 可以直接开车去 B (A → B)
- A 可以直接开车去 C (A → C)
- B 只能开车去 C (B → C)
- C 只能开车回 A (C → A)
用字符画出来,地图长这样:
Plaintext
(A) --------> (B)
^ \ |
| \ |
| v v
(C) <-------- (C) <- (注:其实是B指向C,为了排版直观,想象成一个三角形循环)
稍微整理一下这个简图的逻辑: A -> B, A -> C, B -> C, C -> A。
📊 第二步:把它变成“邻接矩阵”
现在,我们把上面的地图翻译成计算机能看懂的二维表格(矩阵)。 有路的地方填 1,没路或者自己到自己的地方填 0。

🔍 第三步:实战演练!怎么看行和列?
1. 怎么看“行”(求出度)? 假设我们要查 城市 A 的出度(也就是从 A 出发能去哪):
- 你的眼睛就死死盯住 “行 1 (从 A 出发)” 这一整行:
0, 1, 1。 - 里面有两个
1,说明从 A 发出了 2 条路(分别去了 B 和 C)。 - 结论:第 A 行有几个非 0 元素,A 的出度就是几。这里 A 的出度为 2。
2. 怎么看“列”(求入度)? 假设我们要查 城市 C 的入度(也就是谁能把车开到 C 里面来):
- 你的眼睛就死死盯住 “列 3 (到达 C)” 这一整竖列:
1(来自A)1(来自B)0(来自C) - 竖着数,里面有两个
1,说明有 2 条路开进了城市 C。 - 结论:第 C 列有几个非 0 元素,C 的入度就是几。这里 C 的入度为 2。
把“行”当做你的汽车起点,把“列”当做你的导航终点,这个矩阵就像一个列车时刻表一样清晰明了。
