【发布时间】:2013-04-07 01:42:46
【问题描述】:
我正在复习一些图形算法(这不是家庭作业;我只是在复习算法和数据结构)并且我有一个问题。假设我有以下无向图:
var graph = {
9: [19, 26],
13: [19, 5],
17: [],
26: [11, 18],
18: [9],
19: [],
23: [24],
24: [],
11: [],
18: []
};
图表基本上是这样的:
此图中有多少个连通分量?从图表上看,似乎有 3 个组件。但是,如果我实际上实现了算法(遍历每个顶点,并使用该顶点作为起点执行 bfs )。
如果我从9 开始,我最终会发现以下节点:[19, 26, 11, 18]。但是,13 没有被发现,因为它不在19 的邻接列表中。但是,19 在13 的邻接列表中。这就是为什么我最终得到了一个额外的组件。
这是正确的吗?实际上是否有 4 个独立组件,如果是,我对连接组件的理解是否错误?
【问题讨论】:
-
我想知道这个问题有什么值得反对的……这很合法。
-
图表不是特别适合其他问题
标签: algorithm data-structures graph