当前位置:文档之家› 第八章图论

第八章图论

有向图是一个有序二元组(V,A),记为 D=(V,A),其中 V=(v1,v2,…….vp)是 p 个点 的集合,A={a1,a2,……aq}是 q 条弧的集合,并且 ai 是一个有序二元组,记为 aij=(vi,vj)≠ (vj,vi),vi,vj∈V,并称 aij 是以 vi 为始点,vj 为终点的弧, i, j 的顺序不能颠倒,图中弧的方 向用箭头标识。
27
Dijkstra标号法原理
方法的每一步是去修改 T 标号,并且把某一个具有 T 标号的点改变 为具有 P 标号的点,从而使 D 中具有标号的顶点数为多一个.这样至多
树与最小树问题
某企业的组织机构如下所示
生产计划科
行政办公室技术科工 设艺 计组 组
供销科Βιβλιοθήκη 财务科厂长 行政科
车间铸 锻造 压车 车间 间
生产办公室
二车间 三车间 四车间
18
树的概念和性质
树的定义
定义 无圈的连通图,称为树,记作 T=(V,ET)。
树的性质
v1
v3 7 v5
24
矩阵法举例
例 8.2 下面是一个求最小树的问题。用矩阵法求解
V3
7
V6
1
4
1
2
9
V1
3
3
V4
10
V7 3
V9
7
V2
4
8
6
5
V5
2
V8
25
最短路问题
最短路问题,就是从给定的网络图中找出一点到各点或任意两 点之间距离最短的一条路
最短路问题在实际中具有广泛的应用,如管道铺设、线路选择 等问题,还有些如设备更新、投资等问题也可以归结为求最短 路问题
外探寻最短路,执行过程中,给每一个顶点 v j 标号 j , l j . .其中 j 是正
数,它表示获得此标号的前一点的下标; l j 或表示从起点 vs 到该点 v j 的 最短路的权(称为固定标号,记为 P 标号)或表示从起点 vs 到该点 v j 的
最短路的权的上界(称为临时标号,记为 T 标号).
5
环、多重边、简单图、多重图
一条边的两个端点如果相同,称此边 为环(自回路)。
两个点之间多于一条边的,称为多重 边。
不含环和多重边的图称为简单图,含 有多重边的图称为多重图。
6
点的次
以点 v 为端点的边数叫做点 v 的次,记作 d(v)。如上图中,d(v1)=4,d(v2)=4。 若 V=(v1,v2,…….vp),则称{ d(v1),d(v2),…….d(vp)}为图 G 的次序列。 次为 1 的点称为悬挂点,连接悬挂点的边称为悬挂边。次为 0 的点称为孤立点。 次为奇数的点称为奇点,次为偶数的点称为偶点。
aij
wij ,
,
[vi ,vj ] E [vi , vj ] E
则称 A 为 G 的权矩阵。
右图的权矩阵为:
v1 v2 v3 v4 v5 v1 0 7 4 v2 7 0 2 6 v3 4 2 0 3 v4 6 0 5 v5 3 5 0
v1 7 v2
2 6
v4
5
4 v3 3
v5
17
n-1条边)
v1 4

v2
3
v3 5
2 v4
v5
v1 8 v3
7 v5
5
1
5 482
1
v6
v2 3
v4 6 v6
Min C(T)=15 在上图中,如果添加边[v1, v2]就形成圈{v1, v2, v4},这时就应 避开添加边[v1, v2],添加下一条最短边[v3, v6]。破圈法和避圈法 得到树的形状可能不一样,但最小树的长度相等
13
网络的概念
实际问题中,往往只用图来描述所研究对象之间的关系还不够,如果在 图中赋予各边一定的数量指标,我们常称之为“权”,权可以代表距离,也 可以代表时间、费用、容量等。通常把这种赋权图称为网络。 与无向图和有向图相对应,网络又分为无向网络图和有向网络图。
v2
24
20
v1 15
8 v4
10
v3
20
支撑树
支撑树的概念
设图 G1 V , E1 是图 G V, E 的支撑子图,如
果 G1 是一个树,记 T (V , E1) 。则称 T 是 G 的 一个支撑树。 支撑树的存在性定理: 图 G 有支撑树的充分必要条件是图 G 是连通的。 构造支撑树的方法 主要方法有两种:破圈法与避圈法。
定理 1 任何图 G=(V,E)中,所有点的次数之和等于边数的 2 倍。即
p(G)
d (vi ) 2q(G)
i 1
定理 2 任何图 G=(V,E)中,奇点的个数必为偶数。
7
链、圈、连通图
对 于 无 向 图 G = (V , E) , 称 某 顶 点 和 边 交 替 的 序 列 {vi1,ei1,vi2,ei2,...vi(t-1),ei(t-1),vit}为连接 vi1 和 vit 的一条链,简记为{vi1, vi2,……,vit}.其中 eik=(eik,ei(k+1)),k=1,2,…,t-1。称 vi1 和 vit 为链的两个端点。
6
v5 11
10
v7
8
20
v6
14
图的矩阵表示 :关联矩阵
在图 G=(V,E)中,V=(v1,v2,…….vP),E={e1,e2,……eq}。构造一个矩阵 A=(aij)P×q,其中
1, 当点i与边j关联 aij 0, 否则
A 为 G 的关联矩阵。
右图的关联矩阵为: e1 e2 e3 e4 e5 e6
在有向图的讨论中,类似无向图,可以对多重边、环、 简单图、链等概念进行定义,只是在无向图中,链与路、 圈与回路概念是一致的,而在有向图中,这两个概念不能 混为一谈。概括地说,一条路必定是一条链。然而在有向 图中,一条链未必是一条路,只有在每相邻的两弧的公共 结点是其中一条弧的终点,同时又是另一条弧的始点时, 这条链才能叫做一条路。
4
2
1
性质1 任何树中必存在次为1 的点。 v2 3
v4
v6
称次为1 的点为悬挂点,与悬挂点关联的边称为悬挂边。
如果从树中拿掉悬挂点及与其关联的悬挂边,余下的点和
边构成的图形仍连通且无圈,则还是一个树。
性质2 具有n个顶点的树的边数恰好为(n-1)条。
性质3 任何具有n个点与(n-1)条边的连通图是树。
顶点和边,则称 G1 是 G2 的真子图。
部分图:若 V1=V2, E1 E2,即G1 中不包含 G2 中所有的边,
则称 G1 是 G2 的一个部分图。 支撑子图:若 G1 是 G2 的部分图,且 G1 是连通图,则称
G1 是 G2 的支撑子图。
9
子图
v1●
10
有向图
由点和弧组成的图称为有向图。 带箭头的连线称为弧
8
v3
7
v5
5
5
4
8
1
2
v2
3
最小树长为
v4
6
v6
C(T)=4+3+5+2+1=15。
当一个圈中有多个相同的最长边时,不能同时都去掉,只能去
掉其中任意一条边。最小部分树有可能不唯一,但最小树的长
度相同
23
避圈法:取图G的n个孤立点{v1,v2,…, vn}作为一个支撑 图,从最短边开始往支撑图中添加,见圈回避,直到连通(有
19
树的概念和性质
以上性质说明: (1)树是含边数最多的无圈图,只要任意再加 上一条边,必定会出现一个且仅一个圈。 (2)由于树是无圈的连通图,即树的任意两 个点之间有一条且仅有一条唯一通路。因此树也是 含边数最少的连通图。只要从树中取走任一条边, 图就不连通。因此一些重要的网络不能按树的结构 设计。 (3)对任一图G,若q(G) < p(G)-1,则G不连 通;若q(G) > p(G)-1,则G有圈。
8 v4
10
v5 11
10
v7
8
20
v3
6
v6
3
无向图
由点和边组成的图称为无向图。
把两点之间的不带箭头的联 线称为边
无向图可表示为一个有序二元组(V,E),记为 G=(V,E),其中 V=(v1, v2,…….vp)是 p 个点的集合,E={e1,e2,……eq}是 q 条边的集合,并且 ei 是一 个无序二元组,记为 ei=[vi,vj]=[vj,vi], vi,vj∈V。
21
最小树
1) 最小树定义 设 有 一 个 连 通 图 G= (V, E) , 每 一 边 e = [vi , vj]有 一 个 非 负 权
(e) ij (ij 0) ,如果 T=(V,E’)是 G 的一个支撑树,称 E’中所有边
的权之和为支撑树 T 的权,记为 (T ) :(T ) ij 。 [vi ,v j ]T 如果支撑树 T * 的权 (T * ) 是G的所有支撑树中权数最小的,则称T * 是
求最短路有两种算法: 一是求从某一点至其它各点之间最短距离的狄克斯屈拉
(Dijkstra)算法 另一种是针对网络中有负权的逐次逼近法。
26
Dijkstra标号法原理
Dijkstra 算法是目前公认最好的方法,它适合所有的 wij 0 的情形. Dijkstra 算法是一种标记法,它的基本思路是从起点 vs 出发,逐步向
12
点的出次和入次 、路
在有向图 D=(V,A)中,点和弧交替的序列 P={vi1,ai1, vi2,ai2,... vi(t-1),ai(t-1), vit},若有 ait= (vit,vit+1)或 ait= (vit+1,vit), 则称 P 是一条连接 vi1 与 vit 的一条链;若有 ait= (vit,vit+1), 则称 P 是一条从 vi1 到 vit 的路。
相关主题