Graph 将图书馆图书分配给成员以满足最大成员数的算法
我在一次班级考试中被给了一道题。在图书馆里,每个会员都要四本书,每本书只有两个会员要。该信息以二部图G=(X+Y,E)的形式给出 X:所有成员的集合 Y:一套所有的书 边E=一组边(x,y),其中x是为书本y请求的成员。 我们必须找到一种方法,图书馆员可以给每个会员最多两本书,这样才能让最多的会员满意 我提出了两种方法:Graph 将图书馆图书分配给成员以满足最大成员数的算法,graph,matching,bipartite,max-flow,Graph,Matching,Bipartite,Max Flow,我在一次班级考试中被给了一道题。在图书馆里,每个会员都要四本书,每本书只有两个会员要。该信息以二部图G=(X+Y,E)的形式给出 X:所有成员的集合 Y:一套所有的书 边E=一组边(x,y),其中x是为书本y请求的成员。 我们必须找到一种方法,图书馆员可以给每个会员最多两本书,这样才能让最多的会员满意 我提出了两种方法: 引入两个新顶点s(源)和t(目标)。将s中的边引入X中的所有构件(容量为2)。所有边E的容量为1,新边Y到t的容量为1。现在应用最大流算法来寻找最大匹配。最大匹配是所需的解决方
虽然我得到了上述算法,但我不确定哪一个是正确的或没有一个是正确的。如果还有其他算法,请在此处提出建议。第一种算法似乎是正确的。对于第二个,你无法保证你的第一轮作业不会妨碍你达到最佳状态。可能是,但仍然无法解决。