matlab实现prim算法

本文探讨了通信网络设计中的成本最小化问题,提出了利用Prim算法来解决结点间线路铺设以达到最低费用的方案。针对一个包含80个结点的通信网络,文章详细阐述了算法的应用,并分析了方案的可靠性。
摘要由CSDN通过智能技术生成
clc;clear;
A=xlsread('附件1:结点之间的距离和铺设线路的单位费用表.xls','节点距离表','A2:CB81');%A为节点间距离
B=xlsread('附件1:结点之间的距离和铺设线路的单位费用表.xls','节点间单位铺设费用表','A2:CB81');%B为节点间单位铺设费用
C=A.*B;%C为节点间铺设总费用
C(C==0)=inf;%初始化,先构造无向,然后把不可通设为inf
D=zeros(80,80);
result=[];p=1;tb=2:length(C);
while size(result,2)~=length(C)-1
   temp=C(p,tb);temp=temp(:);
   d=min(temp);%把剩下最小权取出
   [jb,kb]=find(C(p,tb)==d);%找到每个
   j=p(jb(1));k=tb(kb(1));
   result=[result,[j;k;d]];
   D(k,j)=d;
   D(j,k)=d;
   p=[p,k];tb(find(tb==k))=[];%k纳入p,未纳入部分删除k
end
tot=sum(result(3,:))
result,D

题目:

通信网络的设计问题

计算机网络技术在各个领域的应用范围已经逐步广泛起来,其发展也在不断的推动人类社会逐渐走向信息时代。网络技术的发展不仅促进了社会生产力的提高,也为人们的生活带来了很大的方便。然而,与此同时也存在着很多不足,诸如安全隐患、信息漏洞等,这些对于人们的工作和生活造成了很大的影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值