【数据结构与算法】-6.4图的应用-最小生成树(建立交通网问题)

发布于:2023-02-03 ⋅ 阅读:(311) ⋅ 点赞:(0)

前期需掌握内容:

【数据结构与算法】-6.1图的基本概念和术语

【数据结构与算法】-6.2图的储存结构(邻接矩阵、邻接表)

【数据结构与算法】-6.3图的遍历

6.4图的应用-最小生成树(建立交通网问题)

6.4.1概念回顾

生成树:所有顶点均由边连接在一起,但不存在回路的图

  • 一个图可以有许多棵不同的生成树
  • 所有生成树具有以下共同特点
  • 生成树的顶点个数与图的顶点个数相同;
  • 生成树是图的极小连通子图,去掉一条边则非连通;
  • 一个有n个顶点的连通图的生成树有n-1条边;
  • 在生成树中再加一条边必然形成回路。
  • 生成树中任意两个顶点间的路径是唯一的;

6.4.2最小生成树

给定一个无向网络,在该网的所有生成树中,使得各边权值之和最小的那棵生成树称为该网的最小生成树,也叫最小代价生成树。 

6.4.3最小生成树的典型用途

欲在n个城市间建立通信网,则n个城市应铺n-1条线路;

但因为每条线路都会有对应的经济成本,而n个城市最多有n(n-1)/2条线路,那么,如何选择n-1条线路,使总费用最少?

显然此连通网是一个生成树

6.4.4数学模型:

  • 顶点一表示城市,有n个;
  • 边表示线路,有n-1条;
  • 边的权值一表示线路的经济代价;
  • 连通网--表示n个城市间通信网。

6.4.5构造最小生成树Minimum Spanning Tree

MST性质

构造最小生成树的算法很多,其中多数算法都利用了MST的性质。

MST 性质:

设N = (V, E)是一个连通网,U是顶点集V的一个非空子集。

若边(u, v)是一条具有最小权值的边,其中u∈U, v∈V-U,则必存在一棵包含边(u, v)的最小生成树。

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到