当前位置: 首页 > 面试题库 >

查找图中的所有断开连接的子图

毛缪文
2023-03-14
问题内容

我有一个图,其中包含未知数量的断开连接的子图。找到全部的最佳算法(或Java库)是什么?


问题答案:

我认为您正在寻找的通常称为“
洪水填充”。您是通过BFS还是DFS遍历图形,这取决于您。

基本上,您采用一个未标记(也称为无色)节点,并为其分配一个新标签。您将相同的标签分配给与该节点相邻的所有节点,并依次分配该节点可到达的所有节点。

如果无法再标记其他可达节点,则可以通过选择另一个未标记节点重新开始。请注意,这个新节点未标记的事实意味着它无法从我们先前的节点访问,因此位于另一个断开连接的组件中。

如果不再有未标记的节点,则必须使用的不同标签数就是图形的组件数。每个节点的标签告诉您哪个节点是哪个组件的一部分。



 类似资料:
  • 给定无向连通图,查找其删除会断开该图的所有节点对(通过边连接) 没有平行边,也没有将节点连接到自身的边。 这个问题似乎类似于寻找一个连通的无向图的连接点(或桥),但有一个转折点,我们必须移除一对由边连接的顶点(以及所有其他与该对连接的边)。 这是一个家庭作业问题。我一直在尝试解决这个问题,阅读有关DFS和关节点算法(即每个节点的深度和低点)的文章,但这些方法都不能解决这个特定的问题。我查阅了科曼的

  • 我正在寻找一个算法,找到顶点的最小子集,这样从图中移除这个子集(以及连接这些顶点的边),所有其他顶点都变得不连通(即,图将没有任何边)。 null 我有图论的基础知识,所以请原谅任何不正确的地方。

  • 我正在尝试在这里制作一个应用程序,它将检测WiFi网络中连接的所有设备。我已经做了足够多的谷歌,并提出了一个应用程序,可以检测在应用程序的WiFi网络中连接的设备的IP地址。 现在我想要更多的东西。 < li >我能否找到设备名称,即电话名称或型号或系统名称,以及我们可以用来检测特定设备的任何信息? < li >我们能否找到设备距离,例如该设备距离我们使用应用的手机有多远? < li >这是主要任

  • 我有一个不连通的二分无向图。我想把图完全断开。我能执行的唯一操作是删除一个节点。删除节点将自动删除其边。任务是最小化要删除的节点数。图中的每个节点最多有4条边。 通过完全断开一个图的连接,我的意思是不应该通过一个链接连接两个节点。基本上是一个空边集。

  • 本文向大家介绍Python程序在无向图中使用DFS查找所有连接的组件,包括了Python程序在无向图中使用DFS查找所有连接的组件的使用技巧和注意事项,需要的朋友参考一下 当需要在无向图中使用深度优先搜索来查找所有连接的组件时,将定义一个类,该类包含用于初始化值,执行深度优先搜索遍历,查找连接的组件,将节点添加到图等的方法。可以创建该类的实例,并可以访问方法以及对其进行操作。 以下是相同的演示-

  • 本文向大家介绍Python程序在无向图中使用BFS查找所有连接的组件,包括了Python程序在无向图中使用BFS查找所有连接的组件的使用技巧和注意事项,需要的朋友参考一下 当需要查找树的所有节点的总和时,将创建一个类,该类包含设置根节点,向树中添加元素,搜索特定元素以及将树中的元素添加至的方法。找到总和,依此类推。可以创建该类的实例来访问和使用这些方法。 以下是相同的演示- 示例 输出结果 解释

  • 问题内容: 有没有一种方法可以强制断开与对象的连接? 参见例如: 附带一提,它会在几秒钟后很快自动断开连接: 之后,您可以再次运行该命令。 问题答案: 你可以做: 强制断开连接。 这就是通过(通过源文件)此函数中的垃圾回收所需要的:

  • 我有一个批处理作业,它将一天触发一次。要求是 使用该时间点上关于Kafka主题的所有可用消息 处理消息 如果进程已成功完成,则提交偏移量。 当前,我poll()while循环中的消息,直到ConsumerRecords.isEmpty()为true。当ConsumerRecords.isEmpty()为true时,我假设Topic在该时间点的所有可用记录都已被使用。应用程序维护偏移量并关闭kafk