具体代码见附件
程序一:
function [Wt,Pp]=tulunmintree(n,W)
%图论中最小生成树Kruskal算法 及画图程序 M-函数
%格式 [Wt,Pp]=tulunmintree(n,W):n为图顶点数,W为图的带权邻接矩
% 阵,不构成边的两顶点之间的权用inf表示。显示最小生成树的边及
% 顶点, Wt为最小生成树的权,Pp(:,1:2)为最小生成树边的两顶点,
% Pp(:,3)为最小生成树的边权,Pp(:,4)为最小生成树边的序号;
%附图,红色连线为最小生成树的图;
%例如
% n=6;w=inf*ones(6);
% w(1,[2,3,4])=[6,1,5];w(2,[3,5])=[5,3];
% w(3,[4,5,6])=[5,6,4];w(4,6)=2;w(5,6)=6;
% [a,b]=mintreek(n,w)
程序二:
function [out,len]=tulunmintree2(map)
%求最小生成树算法,通过kruskal算法求最优树,并给出相应图像.
%用法:
% 首先输入矩阵:
% map=[起点1 终点1 边长1;起点2 终点2 边长2;............;起点n 终点n 边长n]
% 再用[out,len]=kruskal(map)求最优树
%参数说明
% map----3列邻接矩阵,每行表示一条边.第一列表示起点,第二列表示终点,第三列表示边长
% out---输出边阵:[起点 终点]
% len---输出最优树的总长度
%
%例如
% clear;map=[1 2 30;2 4 5;2 5 50;3 2 6;4 3 1;1 4 20;1 5 30]
% [out,len]=kruskal(map)
%
%本算法调用由VC++6.0程序crusal1.c生成的MEX文件kruskal1.dll求得最小生成树,
% 表示无穷大的数值上界(默认10000)


雷达卡





京公网安备 11010802022788号







