XingHuiSama の 宝藏之地
首页项目归档照片墙杂谈友链关于
封面

数据结构——领接矩阵

写作时间:2026-04-08 11:15:25
# 数据结构
# 工作

在有向图的邻接矩阵中:

  • 行(横着看) = 出发站 = 找出度(外发几条线)
  • 列(竖着看) = 终点站 = 找入度(进来几条线)

🗺️ 第一步:画一个“有向图”路线图

假设我们现在有 3 个城市:A (城市1)、B (城市2)、C (城市3)。 它们之间修了 4 条单向通行的马路:

  1. A 可以直接开车去 B (A → B)
  2. A 可以直接开车去 C (A → C)
  3. B 只能开车去 C (B → C)
  4. 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。

把“行”当做你的汽车起点,把“列”当做你的导航终点,这个矩阵就像一个列车时刻表一样清晰明了。

avatar

XingHuiSama

在代码、学术与分子动力学模拟间穿梭的普通人。近期正埋头于 GROMACS 模拟研究与神经网络计算。

RECOMMENDED

GROMACS 2025 分子动力学模拟初探2222

2026-03-24 07:00:45

Computational Chemistry Tool 工具二介绍

2026-04-01 07:00:23

Leetcode一百题——字母异位词分组

2026-04-07 15:34:18

Table of Contents