当前位置: 首页 > 知识库问答 >
问题:

无向图逐渐移除所有点,但不创建2个图

齐振
2023-03-14

城市之间通过电话线和通讯连接。我想摧毁所有的城市,但不要太早惊动另一个城市,所以我在摧毁城镇之前断开电线。我不想把两个城市之间的桥梁连接起来。

如果我没弄错的话,这是无向图。但我不知道如何检查哪些城市我可以删除,哪些不可以。我看了Tarjan的算法,但我不明白。

这是测试输入:

15 19 <- Number of cities and number of connections
1 2 <- Start of connections list
2 3
2 4
2 5
5 6
5 7
7 8
8 9
5 9
1 9
10 11
1 11
11 12
12 13
13 14
1 14
9 14
13 15
9 15
10 12 6 3 14 11 4 13 15 8 9 7 5 2 1

共有1个答案

鲜于德泽
2023-03-14

我想我解决了。它只需要做DFS算法。在这个结果之后,我需要的是反向DFS输出。

例如,如果DFS输出为3,5,4,1,2,结果为2,1,4,5,3

这是C#的DFS:http://www.koderdojo.com/blog/depth-first-search-algorith-in-csharp-and-net-core

 类似资料:
  • 我试图创建一个带有径向渐变的按钮,但每次我加载应用程序时,它都会崩溃。 mylayout.xml: 我的按钮。xml: 下面是错误日志。我的目标是Android SDK 22。 致命的例外:主java。lang.RuntimeException:无法启动活动组件信息{com.my.app/com.my.app.MyActivity}:android。看法充气异常:二进制XML文件行#324:在an

  • 考虑以下无向非循环图: 如果我们定义“根”为A和E,有没有算法可以确定产生的有向无环图?: 我考虑过从根开始尝试某种DFS或BFS,但我不确定如何处理“等待”的需要,以查看另一个根是否可能到达给定的节点。

  • 枚举任意图中两个顶点之间的所有简单路径通常需要指数时间,因为顶点之间可能存在指数数量的简单路径。但是如果我们只对两个endpoint顶点之间至少一条简单路径上的顶点感兴趣呢? 也就是说:给定一个无向图和两个不同的顶点,是否有多项式时间算法可以找到两个顶点之间至少一条简单路径上的每个顶点?这与连通性不同;不包括死胡同和死胡同。然而,分支和连接路径是允许的。 我发现编写一个看起来可以解决这个问题的算法

  • 我在NetworkX中有一个有向无环简单图。 现在,对于每个边,该边都有一个“源”和一个“目标”。如果除了这个边之外,还有一条从“源”到“目标”的路径,那么我想删除这个边。 null > 节点为: 边缘是:

  • 使用亿景智图,您可以生成自己的业务地图,并在线共享和发布这些地图,比如,客户分布图、配送路线图、布局规划图等等。生成一幅地图,基本流程是这样的:新建地图->添加图层->绘制对象(支持批量添加及使用已有数据)->发布地图。这里,为大家介绍,如何构建自定义地图: ● 新建地图 ● 上传Excel/CSV数据 ● 快速添加行政区划 ● 手动绘制地图 ● 搜索添加标注 ● 设置地图名称 ● 设定地图默认视

  • 问题内容: 我需要一个数据结构来以1:1关系存储string-int值对,并且也能够从任何一种方式查找它们的对应对象。 我编写了一个带有Hashtable和String数组的类,并将数据存储了2次,并使用内置函数进行查找。 我的问题是,有没有更好的方法可以做到这一点?更好的是,我的意思是要高效并且不存储2次数据,并且最好不要编写任何代码:P。 问题答案: 看来您可能正在寻找bimap。 Googl