algorithm - 给定最大匹配找到二分图的最小顶点覆盖

标签 algorithm graph set matching bipartite

我似乎找到了一种算法,但我很难理解它,我想知道你们中是否有人知道该算法的通用概要。

这是我在第 2 页找到的算法的链接

http://www.cse.iitb.ac.in/~sundar/cs435/lecture23.pdf

最佳答案

算法就这么简单:

  1. 找到不匹配的顶点,将其标记为不包含在最小顶点覆盖中。
  2. 将此顶点的所有匹配邻居标记为包含在最小顶点覆盖中。
  3. 将上一步中的所有顶点配对视为不匹配的顶点并重复步骤 1。
  4. 如果递归结束,则从步骤 1 开始重复(即图的多个连通分量的情况)。
  5. 如果没有不匹配的顶点,取出所有剩余的对并以任何你喜欢的方式标记它们(记住一对中的一个顶点必须 包含在最小顶点覆盖中,另一个必须不 包括)。

关于algorithm - 给定最大匹配找到二分图的最小顶点覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12449554/

相关文章:

c++ - 有没有办法到达最后的盒子 - GRAPH

javascript - 具有序数 x 轴的多线图

java - 从集合中移除元素

python - 具有静态噪声的类似 1000 字节 block 的最小二进制差异?

algorithm - 寻找一种算法来评估图形的节点

python - 使用正则表达式和 python 3 在字符串中查找模式

php - 最小集合覆盖 [PHP]

c++ - 字符串反向功能不适用于奇数长度的字符串

algorithm - 从图中删除 3 条边后更新 MST

java - 有没有一种方法可以操作通用类型的集合?