zerocover.m
来自「现在我发现网站上对于匈牙利方法的matlab实现还是比较的少」· M 代码 · 共 35 行
M
35 行
%% 用最少的直线覆盖所有零元素
function [y,Row,Col]=ZeroCover(C,Row,Col,Cur)
[m,n]=size(C);
temp=C(Cur,:);
flag=0;
Cur=[];
for i=1:m
if temp(i)==-inf & Col(i)~=0
Col(i)=0;
Cur=[Cur,i];
flag=1;
end
end
if flag==0
y=0;
else
for i=Cur
temp=C(:,i);
for i=1:m
if temp(i)==inf & Row(i)==0
Row(i)=1;
y=i;
flag=0;
[y,Row,Col]=ZeroCover(C,Row,Col,y);
break;
end
end
if flag==1
y=0;
end
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?