您有一个 n 节点(编号为1-n)和 m 边缘的图表。您逐个删除所有节点,并在每一步检查图形是否完全连接(通过打印"已连接"或不是)。给出了要删除的节点的顺序。
例如,
n = 4且 m = 3 给出的边缘是:1 - 2,2 - 3,3 - 4。 删除顺序为:3,4,1,2
节点编号为1-n,因此本例中的节点为1,2,3,4。
最初,图表已连接,因此您打印出来:
联网
首先删除节点3.现在图表已断开,因为节点4是唯一的。
断开
然后删除节点4.现在,图形仅由连接的节点1和2组成。
联网
然后删除节点1.图形仍被视为已连接;只有一个节点。
联网
然后删除节点2.没有任何内容。
示例代码会有所帮助,最好是java或c ++。我尝试使用BFS和DFS,但它们太慢了。最有效的方法是什么?