Skip to content

2024年 408 数据结构 第 4 题

数据结构2024年选择题2分

题目

给定无向图的邻接多重表,求顶点 b、d 的度()

2024 真题第 4 题:无向图的邻接多重表

结构(文字版):顶点表 5 个槽位,下标 0..4 分别存 a、b、c、d、e。每条无向边只用一个边结点(邻接多重表的特点),边结点形如 [ivex | ilink | jvex | jlink],其中 ilink 指向 ivex 顶点的下一条邻边,jlink 指向 jvex 顶点的下一条邻边。

从图中读出的全部边结点(7 个,对应 7 条边):

  • (0,1):连 a—b
  • (0,3):连 a—d
  • (1,3):连 b—d
  • (2,0):连 c—a
  • (3,2):连 d—c
  • (4,2):连 e—c
  • (4,3):连 e—d

错因

A

完全漏读了 b 和 d 各自的邻边链。在邻接多重表里遍历某顶点 v 的邻边时,遇到边结点要先看 v 是 ivex 还是 jvex,再决定沿 ilink 还是 jlink 继续——选 A 的人可能只沿一种链方向走(比如只走 ilink),导致大量"v 出现在 jvex 位置"的边被漏掉,结果数出来的度严重偏小。

C

把题目里的"b、d"看成了"a、c"或别的顶点。3、2 这一组数对照图里实际是顶点 a 的度和顶点 e 的度(a 连 b、c、d 共 3 条,e 连 c、d 共 2 条)。题目问的是 b 和 d,认错顶点了。

D

b 的度数对(2),但 d 的度数漏了一条。容易漏的是最右下角的 (4,3) 这个边结点——它被画在 e 那行的旁支位置,从 d 的链看过去拐弯多,粗心的人没数到它。漏掉这条 d—e 边后 d 只剩 3 条,得到了 2、3。

总解析

邻接多重表回顾:无向图里每条边在所有相关链中只存一份,边结点为 [ivex | ilink | jvex | jlink]。从顶点 v 出发遍历它的邻边链,每遇到一个边结点,先判断 v 等于 ivex 还是 jvex,再决定走哪条 link:

  • v == ivex → 沿 ilink 继续
  • v == jvex → 沿 jlink 继续

顶点 v 的度 = v 的邻边链上经过的边结点数(每条边只算一次)。

逐条边读出图的拓扑(从 7 个边结点):

边结点
(0,1)a—b
(0,3)a—d
(1,3)b—d
(2,0)a—c
(3,2)c—d
(4,2)c—e
(4,3)d—e

对应的无向图(5 顶点 7 边):

abcde

数 b 的度:含 b 的边 = a—b、b—d ⇒ deg(b) = 2数 d 的度:含 d 的边 = a—d、b—d、c—d、d—e ⇒ deg(d) = 4

最终答案是 B(2, 4)

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数