第十一章 图论
P167之题:写出Matlab环境下,由加权图的边权矩阵表示,转化为带权邻接矩阵表示,的函数M—文件。
解:根据边权阵,以下由程序实现:
(1)点的个数n=? 边的条数m=?
(2)因为,带权邻接阵中,主对角线为0,无边时为,所以,先产生n阶方阵a,主对角线为0,其余元素为
(3)再修改a,将有边时的权替代,输出带权邻接阵
function a=syp167hswj(e)
n1=max(e(1,:));n2=max(e(2,:));n=max(n1,n2);m=length(e(1,:));
a=ones(n,n)*inf;
for i=1:n
a(i,i)=0;
end
for j=1:m
a(e(1,j),e(2,j))=e(3,j);
a(e(2,j),e(1,j))=e(3,j);
end
P167之题:写出Matlab环境下,由加权图的边权矩阵表示,转化为带权邻接矩阵表示,的函数M—文件。
解:根据边权阵,以下由程序实现:
(1)点的个数n=? 边的条数m=?
(2)因为,带权邻接阵中,主对角线为0,无边时为,所以,先产生n阶方阵a,主对角线为0,其余元素为
(3)再修改a,将有边时的权替代,输出带权邻接阵
function a=syp167hswj(e)
n1=max(e(1,:));n2=max(e(2,:));n=max(n1,n2);m=length(e(1,:));
a=ones(n,n)*inf;
for i=1:n
a(i,i)=0;
end
for j=1:m
a(e(1,j),e(2,j))=e(3,j);
a(e(2,j),e(1,j))=e(3,j);
end