2014-02-25 16 views
1

我对如何使用Python解决这个问题感到非常困惑。请不要为我解决这个问题,因为我正在学习Python,并且获取完整的知识将无济于事。说,我有follwing输入:无向图中连接组件的数量

1 
0,4 
3 
2 
1 

当第一线是节点0和第二行是节点1等等(在本实施例5级的节点)。 该程序的答案应该是“2”,因为有2个连接组件的“岛屿”。一个是2-3,第二个是0-1-4。任何提示如何从上面的给定输入计算这个答案将非常感激。谢谢!顺便说一句,我是一个11年级的学生,所以我的编码的知识是有限的,去我EZ :)

+0

你到目前为止尝试过什么?如果我们不知道你从哪里开始,很难提供帮助。 –

+0

@JoanSmith我已经尝试将节点追加到列表中,如果它们不存在,并且它们不是,则创建一个新列表并开始追加。我确实懂得如何在纸上解决这个问题,我不明白为什么我的代码无法正常工作,但我不知道如何正确执行。 – user3353391

+0

编辑你的问题,包括你如何解决纸上问题的理解,并给你已经实现的代码不起作用。 –

回答

1
  1. 阅读图表的基于ASCII的表示成一个体面的Python结构(节点→list_of_edges一个dict对于小图可以做得很好)。
  2. 执行第一个未访问节点上的泛洪算法(查看每一个节点到达从那里)。
  3. 继续执行第2步并计算您找到仍未访问的节点的频率。

,当你发现没有未访问节点再此终止。