实验8最短路的求解.docxVIP

  • 19
  • 0
  • 约2.01千字
  • 约 5页
  • 2021-11-08 发布于四川
  • 举报
实验8 最短路的求解 成绩 实验类型:?验证性实验 ?综合性实验 ?设计性实验 实验目的:学会使用Matlab求解最短路。 实验内容:1 .Floyd算法;2.利用Matlab编程实现最短路的计算。 例:已知有6个村子,相互间道路如图所示。欲合建一所小学,已知A处有小 学生50人,B处40人,C处60人,D处20人,E处70人,F处90人,问学 校应建在哪个村子,使得学生上学最方便。 实验原理: Floyd算法属于动态规划,其状态转移方程如下map[i , j] =min( map[i , k] + map[k , j] , map[i , j] ) ; map[i , j]表示 i 至U j 的最短距离,K 是 穷举i , j的断点,map[n , n]初值应该为0。 实验步骤: 从任意一条单边路径开始。所有两点之间的距离是边的权,如果两点之 间没有边相连,则权为无穷大。 对于每一对顶点u和v,看看是否存在一个顶点w使得从u到w再 到v比己知的路径更短。如果是更新它。 把图用邻接矩阵G表示出来,如果从Vi到Vj有路可达,则G[i][j]=d, d表示该 路的长度;否则G[i][j]=无穷大。定义一个矩阵D用来记录所插入点的信息, 表示从Vi到Vj需要经过的点,初始化D[i][jjo把各个顶点插入图中,比较插 点后的距离与原来的距离,G[i][j] = min( G[i][j],

文档评论(0)

1亿VIP精品文档

相关文档