logo资料库

Kruskal算法 matlab实现.docx

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
无约束条件下克鲁斯卡尔(Kruskal)算法—Matlab 实现 算法描述: K0:起始,置邻接矩阵为全零阵。把所有边按长度排成有序的队列,取最短 边11,与相关联的端构成子图1={1,1},并在边的队列中删去这条边,置 11=11=1。 K1:设已取 r 条边、r+1 个端所构成的子图,在所剩的边队列中取最短的 边,检查加上这条边后是否有环,也就是这边的两个端是否已在中。若有环, 删去这条边,继续取最短的,直到不形成环。设此时所取的边长为,则得+1= ∪{,},置==1。 K2:若r
V=0;%×î¶Ì·¾¶µÄȨֵºÍ Path=zeros(2,len-1);%×î¶Ì·¾¶µÄÁ¬·¨ %ÏÂÃæ¶¨ÒåGÓÃÓÚÅжÏÊÇ·ñÐγɻ·,GΪ1->n±íʾ1->n¸ö¶Ëµã %±¾ÈË˼ÏëÊǽ«ÒÑÁ¬½ÓµÄÁ½¶Ë¹éΪһ¸ö²¿·Ö£¬¼´½«ÒÑÁ¬½ÓµÄ¶ËµãÖÃΪÏàͬ£¬±ãÓÚ ÓëÆäËûδÁ¬½Ó¶ËµãÇø·Ö G=1:len; r=1;%Ñ-»·´ÎÊý¼Ç¼ t=1;%Path²½½ø¼Ç¼ while r
分享到:
收藏