当前位置: 首页 > news >正文

学做网站视频教程网站三合一建设

学做网站视频教程,网站三合一建设,动画设计思路怎么写,郑州便民核酸采样屋正在搭建中2017年中兴提前批校招#xff0c;就考了一题匈牙利算法。 匈牙利算法是由匈牙利数学家Edmonds于1965年提出#xff0c;因而得名。匈牙利算法是基于Hall定理中充分性证明的思想#xff0c;它是部图匹配最常见的算法#xff0c;该算法的核心就是寻找增广路径#xff0c;它是…  2017年中兴提前批校招就考了一题匈牙利算法。 匈牙利算法是由匈牙利数学家Edmonds于1965年提出因而得名。匈牙利算法是基于Hall定理中充分性证明的思想它是部图匹配最常见的算法该算法的核心就是寻找增广路径它是一种用增广路径求二分图最大匹配的算法。 先了解一些概念性的东西吧。 1.二分图   设G(V,E)是一个无向图如果顶点V可分割为两个互不相交的子集(A,B)并且图中的每条边ij所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B)则称图G为一个二分图。一个二分图的例子 2.最大匹配完美匹配   在图论中一个“匹配”matching是一个边的集合其中任意两条边都没有公共顶点。   最大匹配一个图所有匹配中所含匹配边数最多的匹配称为这个图的最大匹配。   完美匹配如果一个图的某个匹配中所有的顶点都是匹配点那么它就是一个完美匹配。  3.交替路增广路   交替路从一个未匹配点出发依次经过非匹配边、匹配边、非匹配边...形成的路径叫交替路。   增广路从一个未匹配点出发走交替路如果途径另一个未匹配点出发的点不算则这条交替路称为增广路。   注意把增广路径上的所有第奇数条边加入到原匹配中去并把增广路径中的所有第偶数条边从原匹配中删除这个操作称为增广路径的取反则新的匹配数就比原匹配数增加了1个。  4.思想与算法   思想看这么一个例子把左边1234和右边a,b,c,d来进行匹配                         一开始我们给1分配a,1和a之间连上红线表示建立匹配。                         然后接着给2分配b,2和b连上红线表示匹配。                           紧接着给3分配这时候发现a,b已经都有所属了我们尝试给1重新分配把原来的分配拆掉用蓝线表示。                           但是很快我们发现1重新分配不了b已经有所属那么继续尝试给2重新分配把原来的分配拆掉用蓝线表示。2重新分配到c,用红线表示。                           这个时候1可以重新分配到b,用红线表示。                           最后3就可以分配到a,用红线表示。 对于4由于c已经被分配而且尝试给其他123重新分配无法实现就此结束。基本原则就是在原有匹配基础上重新分配看是否可以添加一个新的匹配。 下面以一个相亲的例子来具体说明一下这个例子转载于http://blog.csdn.net/dark_scope/article/details/8880547 通过数代人的努力你终于赶上了剩男剩女的大潮假设你是一位光荣的新世纪媒人在你的手上有N个剩男M个剩女每个人都可能对多名异性有好感-_-||暂时不考虑特殊的性取向如果一对男女互有好感那么你就可以把这一对撮合在一起现在让我们无视掉所有的单相思好忧伤的感觉你拥有的大概就是下面这样一张关系图每一条连线都表示互有好感。 本着救人一命胜造七级浮屠的原则你想要尽可能地撮合更多的情侣匈牙利算法的工作模式会教你这样做 一 先试着给1号男生找妹子发现第一个和他相连的1号女生还名花无主got it连上一条蓝线 二接着给2号男生找妹子发现第一个和他相连的2号女生名花无主got it 三接下来是3号男生很遗憾1号女生已经有主了怎么办呢 我们试着给之前1号女生匹配的男生也就是1号男生另外分配一个妹子。 (黄色表示这条边被临时拆掉) 与1号男生相连的第二个女生是2号女生但是2号女生也有主了怎么办呢我们再试着给2号女生的原配()重新找个妹子(注意这个步骤和上面是一样的这是一个递归的过程) 此时发现2号男生还能找到3号女生那么之前的问题迎刃而解了回溯回去 2号男生可以找3号妹子~~~                  1号男生可以找2号妹子了~~~                3号男生可以找1号妹子 所以第三步最后的结果就是 四 接下来是4号男生很遗憾按照第三步的节奏我们没法给4号男生腾出来一个妹子我们实在是无能为力了……香吉士同学走好。 这就是匈牙利算法的流程其中找妹子是个递归的过程最最关键的字就是“腾”字其原则大概是有机会上没机会创造机会也要上 【code】 [cpp] view plain copy bool find(int x){       int i,j;       for (j1;jm;j){    //扫描每个妹子           if (line[x][j]true  used[j]false)                 //如果有暧昧并且还没有标记过(这里标记的意思是这次查找曾试图改变过该妹子的归属问题但是没有成功所以就不用瞎费工夫了           {               used[j]1;               if (girl[j]0 || find(girl[j])) {                    //名花无主或者能腾出个位置来这里使用递归                   girl[j]x;                   return true;               }           }       }       return false;   }  在主程序我们这样做每一步相当于我们上面描述的一二三四中的一步 [cpp] view plain copy for (i1;in;i)   {       memset(used,0,sizeof(used));    //这个在每一步中清空       if find(i) all1;   }
http://www.lebaoying.cn/news/79433.html

相关文章:

  • 做网站模板的网页名称是m开头嘉兴在线 官网
  • 网站发展建设思路织梦cms收费不交有事吗
  • 北京西直门附近网站建设公司旅游网站专业化建设的要点
  • 做网站要学的技术湖州建设局投标网站
  • 烟台网站seo网站开发学什么数据库
  • 深圳网站建设 设计贝尔网站改版的方式
  • site之后网站在首页说明说明合肥网站建设哪个好
  • 网站备案个人使用好用的企业邮箱
  • 昆山规建设局网站小贷网站需要多少钱可以做
  • 网站开发的对联网站代运营服务
  • iis7.5 添加网站企业法人手机号码查询
  • 东莞长安网站制作缪斯设计集团
  • 网站建设专家北京注安wordpress桌面客户端
  • 最便宜做公司网站网站建设鼎网络
  • 如何做网站站长江苏中南建设集团网站是多少
  • 9免费网站空间免费注册域名哪里有
  • 怎么制作网站商城东莞网站关键词优化公司
  • 分站式二手车网站源码视频网站 界面设计
  • 合肥网站建设久飞做推送的网站除了秀米还有
  • 网站视频怎么做的好wordpress 仿糗事百科
  • 全flash网站秀屿网站建设
  • 网站建设可自学吗免费网站建设360
  • 有没有做请帖的网站电商一键上货软件
  • 网站卖给别人后做违法信息如何自创软件
  • 做微网站公司郑州公司网页
  • 如何知道一个网站是用什么做的商城网站源文件下载
  • 微信设计网站做苗木行业网站赚钱
  • 用于制作网页的工具软件如何给自己网站做优化
  • 临淄网站设计便宜网站建设成都
  • 网站创建免费用户昆明手机app开发