- 292
- 0
- 约1.14万字
- 约 83页
- 2017-02-16 发布于湖北
- 举报
数学实验第十三章 树与最小生成树 云南大学信息学院通信工程系 宗容 第十三章 树与最小生成树 §13.1 问题的引出 §13.2 树图与最小生成树 §13.3 最小生成树算法 最小生成树的MST性质 Prim算法 Kruskal算法 §13.4 求解案例 实验题 §13.1 问题的引出 1、欲修筑连接N个城市的公路,已知城与城之间公路的造价表,如图13.1所示,设计一个线路图,使总造价最低。 2、计算机网络的线路设计 城市电信局有许多业务,如收费、营业、112、114等,希望在全市范围实现计算机联网服务,共享各种资源,比如,数据库资源。一个主要关心的问题是:用数据通讯线把一组站点联结起来,而不允许通讯线在非站点处连接 如何连接可使通讯线的花费最少? 【任意两个站点可经过若干中介站点取得联系。】 最经济的网络不应该有任何封闭的回路 3、光缆线路敷设 3、又如有n 个乡村,各村间道路的长度是已知的,如何敷设光缆线路使 n 个乡村连通且总长度最短。有线电视台的电视节目传输线路也是一棵树,线路的建设含有最优选线问题。 为了解决此类问题,给出下列关于最小生成树的一些概念。 主要内容 引例:计算机网络的线路设计 树图——直观形象的表示工具 生成树算法及MATLAB程序设计实现 范例1:制造系统设计的分组技术 范例2:通讯网络的最佳Steiner树 布置实验 §13.2 树图与最小生成树 1、树图 树图:倒置的树,根 root 在上,树叶 leaf 在下的图。 多级辐射制的电信网络、管理的指标体系、家谱、分类学、组织结构等都是典型的树图,图13.2就是一颗组织结构图。树图一般研究无向图。 树图的性质 任两点之间有且只有一条路径的图称为树 tree ,记为T,它具有如下性质: 最少边的连通子图,树中必不存在回路;树中任意两个不相邻顶点间添一边后,就恰好含一个圈; 在树中任意去掉一条边,将会不连通; 具有 n 个节点的树 T 的边恰好为 n?1 条,反之,要将n个点的树连接起来至少需要n-1条边。 树图——用来表示: 形象地表示家族; 行政组织机构; 可用树图来列举排列; 用树来分析游戏中的策略; 计算机用树来描述运算顺序,用树来组织其拥有的资源以便于查找; 在编译程序中,用树来表示源程序语法结构; 在数据库系统中,可用树来组织信息。 2、图的生成树 遍历:访问图中的每一个顶点,每个顶点只访问一次 遍历图方法: 深度优先搜索遍历:结果不唯一 广度优先搜索遍历:结果不唯一 3、生成树或支撑树 spanning tree 生成树:G的是树的子图,其顶点集等于G的顶点集。 或从连通图的任何一个顶点出发进行遍历,遍历过程中经过的边加上原图的所有顶点构成的子图称为图的生成树。 生成树的权 代价 :其上所有边权之和 一个简单连通图只要不是树,其生成树就不唯一,甚至非常多。 n个顶点的完全图,其不同的生成树个数为nn-2。 如:10个顶点的完全图,其不同的生成树就有一亿棵. 生成树或支撑树 spanning tree 最小生成树 minimum –weight spanning tree :在一个加权连通图G中,权最小的那棵生成树称为G的最小生成树。 最大生成树 maximum –weight spanning tree :在一个加权连通图G中,权最大的那棵生成树称为G的最大生成树。 问:他们唯一吗? 不唯一 在修筑公路的设计中,确定应在哪些城之间修筑公路,就可看作是在相应的加权图中构造最小费用的生成树的问题。 §13.3 最小生成树的算法 1、最小生成树的MST性质 2、最小生成树的Prim算法 3、最小生成树的Kruskal算法 1、最小生成树的MST性质 构造带权连通图的最小生成树方法有多种,大多利用了最小生成树的以下性质(简称MST性质): 设图G V,E 是一个网络,U是顶点集合V的真子集。如果边 u,v 的顶点u U,v V-U,且边 u,v 是图G中所有一个端点在U里,另一个端点在V-U里的边中权值最小的边,则一定存在G的一棵最小生成树包括此边 u,v 。 构造最小生成树的方法就是利用MST性质,逐条选择将要加入的边。最常用的算法是Kruscal和Prim算法,而不是穷举法。 贪婪法 求最小生成树的两个算法:Prim算法和Kruskal算法,都蕴涵了贪婪法的思想。 贪婪法基本思想:把解看成是由若干个部件构成,每一步求出解的一个部件(不是从整体或长远的角度考虑,只是局部或当前的最好选择),求出的一个个部件组合而作为最终的解。 注意: ①贪婪法可被用于各种各样问题的处理 ②贪婪法只是一种试探法,计算上简便、有效,可提供正确解的一个近似.但一般情况下,不能保证输出的解是正确的。其正确性需要证明
原创力文档

文档评论(0)