- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v1
v2
v6
v3
v5
v4
2、 设图 K(是V,图E1G)=(V , E )的一支撑子图, 如果图 K(V,是E1一) 个树,那么称K 是G 的一个生成树(支 撑树),或简称为图G 的树。图G中属于生成树的边称为
树枝,不在生成树中的边称为弦。
v1
v1
v5
v2
v5
v2
v4
v3
v4
v3
一个图G 有生成树的充要条件是G 是连通图。
(v2 , v5 ) , (v3 , v5 ) , (v4 , v5 ) , (v5 , v4 ) , (v5 , v6 ) }
v3
v5
图2
4、一条边的两个端点是相同的,那么称为这条边是环。
5、如果两个端点之间有两条以上的边,那么称为它们 为多重边。
6、一个无环,无多重边的图称为简单图,一个无环, 有多重边的图称为多重图。
e7 {v3,v5} e8 {v5,v6}
e9 {v6,v6} e10{v1,v6}
e1
e2
v2
e5 e3 e4 v4
e8
e6
v5 e7 v3
图1
2、如果一个图是由点和边所构成的,则称其为无向图,记作G = (V,E),连接点的边记作[vi , vj],或者[vj , vi]。
3、如果一个图是由点和弧所构成的,那么称它为有向图,记作
(9) T ( v 6 ) m T ( v 6 ) i ,P ( n v 5 ) l 5 [ ] 6 m ,5 i 2 n ] 7 [ (10) P(v6) 7
反向追踪得v1到v6的最短路为:v1 v2 v5 v6
求从1到8的最短路径
2
6
1
2
3
1
10
5
9
3
4
7
5
6
5
2
3
4
6
7
4
8 8
v3
v1 v2 v3
v1 v2
v5
v3
v3
v3
v5
v6v1 v4
v5 v6
v4
v1
v1
v2
v2
v3
v1 v2
v5 v6
3、最小生成树问题
如果图 T(V是,E图1) G的一个生成树,那么称E1上所有边 的权的和为生成树T 的权,记作S(T)。如果图G的生成树
T* 的权S(T*),在G 的所有生成树T 中的权最小,即
(3) P(v2)3 (4)T ( v 3 ) m T ( v 3 ) i ,P ( n v 2 ) l [ 2 ] 3 m 5 ,3 i1 ] n 4[
T ( v 4 ) m T ( v 4 ) , P i ( v 2 n ) l 2 ] [ 4 m , 3 i 2 ] n 5[ T ( v 5 ) m T ( v 5 ) i ,P ( n v 2 ) l 2 [ ] 5 m ,3 i 2 n ] 5 [
3.比较所有具有T标号的节点,把最小者改为P标号,即:
P(vk)miTn (vi)[]
当存在两个以上最小者时,可同时改为P标号。若全部节 点均为P标号,则停止,否则用vk代替vi,返回步骤(2)。
例一、
用Dijkstra算法求下图从v1到v6的最短路。
v2 2
v4
3
v1
1
4
22
v6
5 v3 4
2 v5
其余的点称为中间点。对每一条弧
,(v对i ,v应j)一A个
数 ,称为弧w i 上j 的“权”。通常把这种赋权的图称为
网络。
10、由两两相邻的点及其相关联的边构成的点边序列称 为链。
如:v0 ,e1,v1,e2,v2,e3 , v3 ,…,vn-1 , en , vn, 记作( v0 , v1 , v2, v3 , …, vn-1 , vn ),
解 (1)首先给v1以P标号,给其余所有点T标号。
P(v1)0 T ( v i) ( i 2 ,3 , ,6 )
(2) T ( v 2 ) m T ( v 2 ) , i P ( v 1 n ) l 1 ] [ 2 m ,0 i 3 ] n 3[
T ( v 3 ) m T ( v 3 ) i ,P ( n v 1 ) l 1 [ ] 3 m ,0 i 5 n ] 5 [
其链长为 n ,其中 v0 ,vn 分别称为链的起点和终点 。 若链中所含的边均不相同,则称此链为简单链;所含的点 均不相同的链称为初等链 , 也称通路。
v2
e1
v1
e2
e3
v3
e4
v4
e5 e7
e9
e8
v6
e10
e6
v5
11、图中任意两点之间均至少有一条通路,则称此图为 连通图,否则称为不连通图。
算法步骤: 1.给始点vs以P标号 P(vs) 0,这表示从vs到 vs的最短距离 为0,其余节点均给T标号,P ( v i) ( i 2 ,3 , ,n )。 2.设节点 vi 为刚得到P标号的点,考虑点vj,其中
(vi ,vj)E ,且vj为T标号。对vj的T标号进行如下修改:
T (v j) mT (iv j) n ,P ( [ v i) lij]
例
v1
V v 1 ,v 2 ,v 3 ,v 4 ,v 5 ,v 6
E { e 1 , e 2 ,e 3 ,e 4 ,e 5 ,e 6 ,e 7 ,e 8 ,e 9 ,e 1 } 0e10
e1{v1,v2} e2{v1,v2}
v6
e3 {v2,v3} e4 {v3,v4}
e9
e5 {v1,v3} e6 {v3,v5}
8 8
min {c12,c16,c42,c47}=min {0+2,0+3,1+10,1+2}=min {2,3,11,3}=2 X={1,2,4}, p2=2
图 • 顶点的次、出次、入次、悬挂点、孤立点、奇
点、偶点 • 子图、生成子图(支撑图)、网络(赋权图) • 链、初等链、圈、初等圈、回路、连通图 • 图的矩阵表示、邻接矩阵 • 欧拉道路、欧拉回路、中国邮路问题
树的概念
• 树、树叶、分枝点 • 数的性质 • 生成子图、生成树、树枝、弦 • 最小生成树 • 避圈法、破圈法 • 有向树、根树、叶、分枝点、叉树
e1
v1
e2
v2
e10
v6 e9
e5 e3 e4 v4
e8
e6
v5 e7 v3
定理1 所有顶点度数之和等于所有边数的2倍。 定理2 在任一图中,奇点的个数必为偶数。
有向图中,以 vi 为始点的边数称为点vi的出次,用 表示 d(;vi )以 vi 为终点的边数称为点vi 的入次,
用 d (v表i )示;vi 点的出次和入次之和就是该点的次。
最短路的一般提法为:设 G(V,E)为连通图,图中各边
(vi , v j )
有权
l
(
ij
li j 表示 vi , v j 之间没有边),vs , vt
为图中任意两点,求一条路 ,使它为从 v s到 v t 的所有
路中总权最短。即:
L() lij 最小。 (vi ,vj )
(一)、 狄克斯屈拉(Dijkstra)算法 适用于wij≥0,给出了从vs到任意一个点vj的最短路。
二、 树及最小树问题
已知有六个城市,它们之间 要架设电话线,要求任意两 个城市均可以互相通话,并且电话线的总长度最短。
v1
v2
v6
v3
v5
v4
1、一个连通的无圈的无向图叫做树。
树中次为1的点称为树叶,次大于1的点称为分支点。
树 的性质: (1)树必连通,但无回路(圈)。 (2)n 个顶点的树必有n-1 条边。 (3)树 中任意两个顶点之间,恰有且仅有一条链(初等 链)。 (4)树 连通,但去掉任一条边, 必变为不连通。 (5) 树 无回路(圈),但不相邻的两个点之间加一条 边,恰得到一个回路(圈)。
v6 e5 v5
(a)
v2
e1
e8
v1
e6 e7 v7
v6 e5
v5
(b)
子图
v2
v3
e1 v1
e9
e6
e7
v7
e10 e11
v4
v6
v5
(c)
支撑子图
在实际应用中,给定一个图G=(V,E)或有向图
D=(V,A),在V中指定两个点,一个称为始点(或
发点),记作v1 ,一个称为终点(或收点),记作vn ,
称矩阵A为网络G的邻接矩阵。
(vi ,vj)E (vi ,vj)E
v1 4
v2
例
36
72
v6 4
3
3
v3
5
2
v5
v4
权矩阵为:
邻接矩阵为:
v1 0 4 0 6 4 3
v
2
4
0
2
7
0
0
A
v3 v4
0
6
2 7
0 5
5 0
0 2
3
0
v
5
4
0
0
2
0
3
v 6 3 0 3 0 3 0
v1 0 1 0 1 1 1
S(T*)miSn(T)
那么称T*是G 的最小生成树。
T
某六个城市之间的道路网如图 所示,要求沿着已知长度 的道路联结六个城市的电话线网,使电话线的总长度最短。
v3 5 v5
6
4
v1
17 3
v6
5
2
4
v2
v4
v3
v1