Graph 图边删除

Graph 图边删除,graph,Graph,我们得到一个没有循环的无向图,我们必须检查是否有可能删除边,使得每个顶点的阶数为一 我应该怎样回答这个问题?我应该使用邻接矩阵还是列表 请告诉我有效的方法。如果图形需要完全连接,则只有在以下情况下才有可能 正好有两个顶点,它们之间有一条边 如果不需要完全连接,则必须搜索 类似的星座。也就是说,你需要看看是否有可能 将图划分为两个顶点对,每个顶点上有一条边 一对这就是我们所追求的。我们知道什么 图没有循环。这意味着它一定是一棵树!(不一定 不过是二进制的)。也许我们可以从以下几个方面着手急切地解

我们得到一个没有循环的无向图,我们必须检查是否有可能删除边,使得每个顶点的阶数为一

我应该怎样回答这个问题?我应该使用邻接矩阵还是列表


请告诉我有效的方法。

如果图形需要完全连接,则只有在以下情况下才有可能 正好有两个顶点,它们之间有一条边


如果不需要完全连接,则必须搜索 类似的星座。也就是说,你需要看看是否有可能 将图划分为两个顶点对,每个顶点上有一条边 一对这就是我们所追求的。我们知道什么

图没有循环。这意味着它一定是一棵树!(不一定 不过是二进制的)。也许我们可以从以下几个方面着手急切地解决这个问题 树的底部?我们不知道底部是什么;我们该怎么办 解决这个问题?我们可以自己决定,所以我决定选择所有 叶为“底部”

我现在提出以下算法(您可能需要提高其效率) 评估你自己,它不一定是最好的算法):

  • 对于每个叶L:
  • 设P是L的父,Q是P的父(Q可以为NULL)

  • P的程度是否可能与我认为“无循环”在这里的意思是“无自循环”,而不是“无循环”。是的,无自循环。谢谢Emil Vikström的建议。