最小树问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
V2 V4 V1 V2 V3 V3 V5 V1 0 1 1 V2 1 0 0 V3 1 0 0 V4 0 1 0 V5 0 1 1
V1
V4
V5
0Байду номын сангаас
0
1
1
0
1
0
1
1
0
两顶点间有边连接的记为 1 ,无边连接的记为 0。 得到的矩阵一定是对称矩阵。
2、赋权无向图的矩阵表示: 两顶点间有边 连接的记为该边的权数。无边相连的记为 , 对角线上的数是 0 。得到的矩阵也是对称矩阵。 例如:
5
v7
5
4
最小树,权为13
2.最小树的求法
(2)破圈法: ① 在网络图中寻找 一个圈。若不存在圈, 则已经得到最短树或网 络不存在最短树; ② 去掉该圈中权数 最大的边; 反复重复 ① ② 两 步,直到最小树。
v1 1 v8 4
4 2
v2 1
1 3 4
v3
1 v4 5 v5
5
v7
5
v0 2 3 v6 2 4
2.最小树的求法
求最小树的两种方法,是避圈法与破圈法
(1)避圈法: 从网络图中 任意节点开始寻 找与该节点关联 的权数最小的边, 使之与已选边不 构成为圈,直到 选够n-1条边为 止。

v1 1 v8 4 4 2 v2 1 1 3 4 v0 2 3 v6 2
从网络中 任选一点
v3 1 v4 5 v5
•(3)Kruskal 算法:将图中所有边 v1 按权值从小到大排列,依次选 1 所剩最小的边加入边集 T,只 v8 要不和前面加入的边构成回路, 5 直到 T 中有 n1 条边,则 T 是最小生成树
v7
4
v2
1
v3
2
4 5
1
3
4
1
v4 5 v5
v0 2 3 v6 2 4
图的矩阵表示
将图的几何形状转化为代数矩阵形式,可大 大方便计算机对图的处理与运算。 1、无权图的矩阵表示:
Tk T
e Ek
w e


则称 T * 为网络N的一棵最小生成树,简称最小树.
1.最小生成树
b 2 a 3 f 2
4 4 5
c 5 2 6 e d
最小 树
比如,城市间交通线 的建造等,可以归结为这 一类问题。
再如前面例3,在已知的几个城市之间联结电话线网, 要求总长度最短和总建设费用最少,这类问题的解决都 可以归结为最小树问题。
V2
3 V1
5
V4 V1
2 V5 V2 V3
V1
V2
V3
V4
V5
0
3 2
3
0
v5
v6
v2
v3
二、最小生成树及其算法
1.最小生成树
一个网络图可以有多个生成树.记N的所有生成 树的集合为: T={ Tk | k=1,2,…,L } 设Tk =(V, Ek )是网络图N=(G,w)的一棵生成树, 则边集Ek中所有边的权数之和称为树Tk 的权数,记为
w Tk
若 T T ,使 w T min w Tk
一个电话线网。
一、树的基本概念 v1
v2
v3
v5 v4 v6
图5-6
一、树的基本概念 1.树 无圈且连通的无向图称为树.树一般记为T.作
为树定义还可以有以下几种表述: (1) T 连通且无圈或回路; (2) T 无圈且有n-1条边(如果有n个结点); (3) T 连通有n-1条边; (4) T 无回路,但不相邻的两个结点之间联以一边,恰 得一个圈; (5) T 连通,但去掉T 的任意一条边,T 就不连通了; (亦即,在点集合相同的图中,树是含边数最少的 连通图。) (6) T 的任意两个结点之间恰有一条初等链.
2.支撑树 定义3 设图K=(V, E I )是图G=(V, E )的一支撑子图,如果
图K=(V, EI )是一个树,那么称K是G的一个支撑树或生成树。 例如,图5-7b 是图5-7a 的一个支撑树。
v3 v1
v5
v3
v5 v6
v6 v2 v4
v1 v2 v4
a
图5-7
b
2.支撑树
定理3 一个图G有支撑树的充要条件是G是连通图。
证明: 必要性显然; 充分性: 设图G是连通的,若G不含圈,则按照定义,G是 一个树,从而G是自身的一个支撑树。若G含圈,则任取G的 一个圈,从该圈中任意去掉一条边,得到图G的一支撑子图 G1。若G1不含圈,则G1是G的一个支撑树。若G1仍然含圈, 则任取G1的一个圈,再从圈中任意去掉一条边,得到图G的 一支撑子图G2。依此类推,可以得到图G的一个支撑子图GK, 且不含圈,从而GK是一个支撑树。
6
v3
v3
破圈法
• 任取一圈,从该圈中去 掉任一条边 • 对余下的圈重复相同的 v1 步骤 • 直到将图中所有的圈都 破掉为止
v4
2 1 3 4
v5
v6
v2
v3
避圈法
• 也称为生长法 • 从图中某一点开始 生长边 • 逐步扩展成长为一 v1 棵树 • 每步选取与已入树 的边不构成圈的那 些边
v4
第二节 最小树问题
一、树的基本概念
在各种各样的图中,有一类图是十分简单又非 常具有应用价值的图,这就是树。 例 3 已知有六个城市,它们之间要架设电话 线,要求任意两个城市均可以互相通话,并且电话 线的总长度最短。
一、树的基本概念
如果用六个点 v1 … v6 代表这六个城市,在任意 两个城市之间架设电话线,即在相应的两个点之间 连一条边。这样,六个城市的一个电话网就作成一 个图。任意两个城市之间均可以通话,这个图必须 是连通图。并且,这个图必须是无圈的。否则,从 圈上任意去掉一条边,剩下的图仍然是六个城市的 一个电话网。图5-6是一个不含圈的连通图,代表了
寻找连通图支撑树的方法有“破圈法”。就是从图中 任取一个圈,去掉一条边。再对剩下的图重复以上步 骤,直到不含圈时为止,这样就得到一个支撑树。 例4 用破圈法求出下图的一个支撑树。 v2 e1 v1 e2 v3 e3 e4 e7 e8 e6 v5
e5
v4
2.支撑树
取一个圈(v1 ,v2 ,v3 ,v1 ),在一个圈中去掉边e3 。在剩下 的图中,再取一个圈(v1 ,v2 ,v4 ,v3 ,v1 ),去掉边e4 。再从圈 (v3 ,v4 ,v5 ,v3 )中去掉边e6 。再从圈(v1 ,v2 ,v5 ,v4 ,v3 ,v1 )中去 掉边e7,这样,剩下的图不含圈,于是得到一个支撑树,如 图所示。 v2 v2 e1 e7 e1 e4 v 4 v1 e8 e3 e8 v5 v1 v5 v 4 e5 e2 e e2 5 e
相关文档
最新文档