第十一章图论 P167之题:写出 Matlab环境下,由加权图的边权矩 阵表示,转化为带权邻接矩阵表示,的函数M—文件。 解:根据边权阵e=pln,以下由程序实现: (1)点的个数n=?边的条数m=? (2)因为,带权邻接阵中,主对角线为0,无边时 为∞,所以,先产生n阶方阵a,主对角线为0,其余 素为 (3)再修改a,将有边时的权替代∞,输出带权邻 接阵a=l function a=syp 167hswj(e nI-max(e(l, ) ) n2=max(e(2, )) n=max(nl, n2), m=length( e(1,); for Fl:n a(,) end e(1J),e(2Jj)=e(3J) a(e(2J)e(1J)=e({3J)
第十一章 图论 P167 之题:写出 Matlab 环境下,由加权图的边权矩 阵表示,转化为带权邻接矩阵表示,的函数 M—文件。 解:根据边权阵 ij m e e = 3 ,以下由程序实现: (1)点的个数 n=? 边的条数 m=? (2)因为,带权邻接阵中,主对角线为 0,无边时 为 ,所以,先产生 n 阶方阵 a,主对角线为 0,其余 元素为 (3)再修改 a,将有边时的权替代 ,输出带权邻 接阵 n n a aij = 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