2012年3月19日

KM算法理解

摘要: 转自http://www.byvoid.com/blog/match-km/[二分图带权匹配与最佳匹配]什么是二分图的带权匹配?二分图的带权匹配就是求出一个匹配集合,使得集合中边的权值之和最大或最小。而二分图的最佳匹配则一定为完备匹配,在此基础上,才要求匹配的边权值之和最大或最小。二分图的带权匹配与最佳匹配不等价,也不互相包含。我们可以使用KM算法实现求二分图的最佳匹配。方法我不再赘述,可以参考tianyi的讲解。KM算法可以实现为O(N^3)。[KM算法的几种转化]KM算法是求最大权完备匹配,如果要求最小权完备匹配怎么办?方法很简单,只需将所有的边权值取其相反数,求最大权完备匹配,匹配的值再 阅读全文

posted @ 2012-03-19 21:13 c语言源码 阅读(857) 评论(0) 推荐(0) 编辑

读书笔记21:解释器模式

摘要: 1、定义 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。该模式很好理解就是,目的就是解释。比如说世界上的各个地区和国家的汉字各不相同,但是需要表达的意思是相同的。同样描述吃饭的,中国叫吃饭,老外叫Eat...所以解释器模式是指,在程序中,一些符号或字符等需要在特定的条件下解释成这样,在另一情况下解释成那样。2、角色这个模式角色就一个解释器,AbstractExpression——它的参数是需要解释的内容。3、模型抽象的解释操作类。 public abstract class AbstractExpression { p... 阅读全文

posted @ 2012-03-19 15:49 c语言源码 阅读(217) 评论(0) 推荐(0) 编辑

导航