修改 DFS 算法以检查图中的顶点

发布于 2025-01-10 12:18:36 字数 88 浏览 0 评论 0原文

只需要伪代码,而不是整个运行代码。 对 DFS 算法进行所需的修改,以便它可以检查图中的顶点是否可以用 0 和 1 进行标记,以便具有相同标签的顶点之间不存在边。

Just need a pseudo code, not the entire run code.
Give the modifications needed to either the DFS algorithm so that it can check if the vertices in a graph can be labeled with 0's and 1's such that there is not an edge between vertices with the same label.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凯凯我们等你回来 2025-01-17 12:18:36

您正在寻找的图称为二分图。对 DFS 的修改如下(让 color[node] 在所有节点的开头为 -1):

  • 让 color[1] = 1。
  • 从 DFS 内的节点 1 开始 DFS
  • ,为当前节点的所有未着色邻居着色与当前节点颜色相反的颜色。
  • 如果存在颜色与当前节点颜色相同的彩色邻居,则无解。

The graph that you are looking for is called a Bipartite graph. A modification to DFS would be like this (let color[node] be -1 in the beginning for all nodes):

  • let color[1] = 1.
  • start DFS from node 1
  • inside your DFS color all uncolored neighbors of the current node with a color opposite to the color of the current node.
  • if there exists a colored neighbor with color equal to current node's color then there is no solution.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文