2012-10-17 38 views
0

我有一些“随机”图:一些节点有一些连接,有些没有连接,它可以是,我的图有一个或多个圆圈。在我的图中圈出来,从圆圈中得到节点

我需要得到圆的节点:例如我有这个节点(A)。 'A'在圈?这个圈子的节点是什么?'A'是什么?

你能帮我吗?

回答

1

进行深度优先遍历DFS。最初所有节点都是白色的。在探索给定节点时,将其标记为灰色。完成后,将其标记为黑色。只访问白色的节点。如果你遇到灰色节点,就有你的周期。您可以在网上阅读有关DFS的更多信息。例如http://en.wikipedia.org/wiki/Depth-first_search