📄 maxbipartitelc.m
字号:
function [n,vm1,vm2]=maxbipartitelc(vc,nv1,nv2)
if nargin<1
nv1=5;
nv2=5;
vc=[1,1,0,0,0;
1,0,0,0,0;
1,0,1,0,0;
0,0,1,1,1;
0,0,0,1,1];
end
vm1=-ones(1,nv1);
vm2=-ones(1,nv2);
n = 0;
for i=1:nv1
q=[];
qs=1;
qe=1;
prev=ones(1,nv2)*(-2);
for j=1:nv2
if vc(i,j)
prev(j)=-1;
q=[q,j]
qe=qe+1;
end
end
while qs<qe
x=q(qs);
if vm2(x)==-1
break;
end
qs=qs+1;
for j=1:nv2
if prev(j)==-2 & vc(vm2(x),j)
prev(j)=x;
q=[q,j];
qe=qe+1;
end
end
end
if qs==qe
continue;
end
while prev(x)>-1
vm1(vm2(prev(x)))=x;
vm2(x)=vm2(prev(x));
x=prev(x);
end
vm2(x)=i;
vm1(i)=x;
n=n+1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -