【问题标题】:How would I jump from one component to another in this undirected graph?在这个无向图中,我如何从一个组件跳到另一个组件?
【发布时间】:2020-04-24 23:14:33
【问题描述】:

自从开始远程学习以来,我一直在努力理解数据结构,而这个问题确实让我陷入了困境。我完全不知道如何从代码开始,更不用说明白我的意思了。任何帮助都将不胜感激......

【问题讨论】:

  • 在您的示例中,组件没有相互链接。如果是这种情况,您可以使用 BFS 找到这样的岛(组件),从图中删除该组件并搜索下一个。

标签: data-structures breadth-first-search


【解决方案1】:

选择图中的任意节点。该节点属于某个组件,并且可能与其他几个节点一起存在。所以运行一个 BFS,将那个节点和所有可以从它到达的东西都涂成金色。这是一个组成部分。

现在选择另一个节点。两件事中的一件必须是真实的。首先,节点可能已经被涂成金色。在这种情况下,您已经计算了包含它的组件。其次,它可能是未上漆的。在这种情况下,你还没有计算它的组件,所以将它和所有可以从它到达的节点都涂成金色,这就是你的第二个组件。

你认为你可以概括这个想法,以便计算所有组件吗?

至于运行时——每个节点以这种方式被访问了多少次?请记住,您只将每个节点涂成金色一次,并且每个边仅在课程或涂色节点中被访问。

【讨论】:

    猜你喜欢
    • 2021-12-09
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2016-04-20
    • 2020-12-30
    • 1970-01-01
    相关资源
    最近更新 更多