被一道小题打懵, 请帮忙

s
sitian
楼主 (未名空间)


我在编程上是外行。最近遇到一个问题。见下。冒号之前是节点号码 (n)。冒号之后是和该节点(n)相连的所有节点。
如果我把它画出图来的话 (见附件),你可以看出来这些节点组成了两个网络。
问题是,如果只看数据的话(因为最终要编程解决), 如何知道这些节点组成的是两
个网络, 而不是一个或三个?每个节点的位值(XYZ)已知,但我看不出来有什么用。

Node:Connected nodes
1: 3,11
2: 4,6,8
3: 1,7,9
4: 2,12
5: 9
6: 2,10
7: 3
8: 2
9: 3,5
10: 6
11: 1
12: 4
n
newIdRobot
http://zh.wikipedia.org/wiki/%E5%B9%B6%E6%9F%A5%E9%9B%86

【 在 sitian (司田) 的大作中提到: 】
: 我在编程上是外行。最近遇到一个问题。见下。冒号之前是节点号码 (n)。冒号之后
: 是和该节点(n)相连的所有节点。
: 如果我把它画出图来的话 (见附件),你可以看出来这些节点组成了两个网络。
: 问题是,如果只看数据的话(因为最终要编程解决), 如何知道这些节点组成的是两
: 个网络, 而不是一个或三个?每个节点的位值(XYZ)已知,但我看不出来有什么用。
: Node:Connected nodes
: 1: 3,11
: 2: 4,6,8
: 3: 1,7,9
: 4: 2,12
: ...................

d
dilettante

可以参考一下Princeton 这个算法课里的 Union Find:
https://www.cs.princeton.edu/~rs/AlgsDS07/01UnionFind.pdf

代码写起来可以很简单

【 在 sitian (司田) 的大作中提到: 】
: 我在编程上是外行。最近遇到一个问题。见下。冒号之前是节点号码 (n)。冒号之后
: 是和该节点(n)相连的所有节点。
: 如果我把它画出图来的话 (见附件),你可以看出来这些节点组成了两个网络。
: 问题是,如果只看数据的话(因为最终要编程解决), 如何知道这些节点组成的是两
: 个网络, 而不是一个或三个?每个节点的位值(XYZ)已知,但我看不出来有什么用。
: Node:Connected nodes
: 1: 3,11
: 2: 4,6,8
: 3: 1,7,9
: 4: 2,12
: ...................

I
IFloating

你去过弯曲吗?
这是最简单的刷题目了

面试这个都不会可能电话5分钟就挂了

【 在 sitian (司田) 的大作中提到: 】
: 我在编程上是外行。最近遇到一个问题。见下。冒号之前是节点号码 (n)。冒号之后
: 是和该节点(n)相连的所有节点。
: 如果我把它画出图来的话 (见附件),你可以看出来这些节点组成了两个网络。
: 问题是,如果只看数据的话(因为最终要编程解决), 如何知道这些节点组成的是两
: 个网络, 而不是一个或三个?每个节点的位值(XYZ)已知,但我看不出来有什么用。
: Node:Connected nodes
: 1: 3,11
: 2: 4,6,8
: 3: 1,7,9
: 4: 2,12
: ...................