• 大小: 330KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 语言: Matlab
  • 标签: prim  kruskal  

资源简介

北京邮电大学计算机仿真作业。绝对能用 程序中的prim算法实现犹为有特色

资源截图

代码片段和文件信息

clear all;
close all;
Graph11;%调用以邻接矩阵储存的图所在的M文件
%Graph22;

len=length(graph_adjacent);%计算图中的顶点数
temp=graph_adjacent;%将原图内容拷贝到temp中,以防对原图做改动
superedge=zeros(len-12);%用于保存生成最小生成树的边
i=1;%指向superedge的下标
for j=1:len
 tag(j)=j;%关联标志初始化,将每个顶点的关联标志设为其本身
end;
%以下的循环完成kruskal算法

while(superedge(len-11)==0)
    [YI]=sort(temp);%将temp的每列按从小到大排序,数组Y保存temp 排序后的结果,I中保存相应结果对应的在temp中的下标
    cost_min=min(Y(1:));%找出权值最小的边
    index=find(Y(1:)==cost_min);%找出权值最小的边对应的顶点
    index=index(1);%一条边对应两个节点,且不同的边的权值可能一样,这里为了方便处理人为规定了顺序,取标号最小的顶点进行处理
    anotherpoint=I(1index);%找到该边对应的另一个顶点
    %将该边对应的权值修改为最大,防止该边在下次循环中再次被选为最优边
    temp(indexanotherpoint)=100;
    temp(anotherpointindex)=100;
    if(tag(anotherpoint)~=tag(index))%当两个点不属于一个连通集时,这两个点之间的边为最小生成树的边
        superedge(i:)=[ind

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2026  2008-06-14 10:51  prim and kruskal\code\finallykruskal.m

     文件       2405  2008-06-14 10:51  prim and kruskal\code\finallyprim.m

     文件        321  2008-06-09 15:26  prim and kruskal\code\Graph1.m

     文件        333  2008-06-09 21:11  prim and kruskal\code\Graph11.m

     文件        392  2008-06-09 16:17  prim and kruskal\code\Graph2.m

     文件        408  2008-06-09 21:12  prim and kruskal\code\Graph22.m

     文件       2169  2008-06-14 13:08  prim and kruskal\code\kruskalenhance.m

     文件         83  2008-06-14 13:29  prim and kruskal\code\Readme.txt

     文件        153  2008-06-14 10:21  prim and kruskal\code\test.m

     文件        187  2008-06-14 10:44  prim and kruskal\code\testsparse.m

     文件     600576  2008-09-16 18:31  prim and kruskal\计算机仿真final.doc

     目录          0  2008-11-17 22:23  prim and kruskal\code

     目录          0  2008-11-17 22:23  prim and kruskal

----------- ---------  ---------- -----  ----

               609053                    13


评论

共有 条评论