zoukankan      html  css  js  c++  java
  • 二分图匈牙利算法(dfs实现)

    匈牙利算法:用增广路求二分图最大匹配的算法。

    增广路的递归描述:从A出发的增广路径一定首先连向一个在原匹配中没有与点A配对的点B.

    如果点B在原匹配中没有与任何点配对,则它就是这条增广路的终点,如果点B在原匹配中已经

    与点C配对,那么这条增广路就是从A到B,在从B到C,在加上从点C出发的增广路径。并且这条从

    C出发的增广路中不能与前半部分的增广路径有重复的点。

    bool  searchPath(集合x中顶点A)
    {
         for(集合Y中顶点B)
          if(AB有边连接  && B还未匹配)
         {
               标记B已经匹配
              if(B在原匹配中没有与任何点配对 || 与B配对的C存在增广路)
              {
                   记录下A配对的为B
                   记录下B配对的为A
                    return true;
               }
         }
        return false;
     }
    

      

  • 相关阅读:
    网络七层模型
    border-radius 50% 和100%
    数据绑定
    前端一些基础的重要的知识2
    用 ul 和 li 模拟select控件
    两列布局
    盒子的水平垂直居中几种方法
    TCP时间戳
    帧聚合
    skb buff数据结构
  • 原文地址:https://www.cnblogs.com/hpustudent/p/2482002.html
Copyright © 2011-2022 走看看