算法 图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

v4
16
2019/2/11
图的概念(3)
子图——如果图G(V,E)和图G’(V’,E’),满足:V’V,E’E 则称G’为G的子图
2 1 4 3 5 6 3 5 6 1 2
v1 v2 v4 v3 v2
v1 v3 v4
v3
2019/2/11
17
图的概念(4)
路径——是顶点的序列V={Vp,Vi1,……Vin,Vq},满足(Vp,Vi1),
1736年欧拉将陆地作顶点,将桥作边,从而将 这个实际问题抽象成图的模型。
2019/2/11
5
欧拉对七桥问题的解答
“一笔画问题”:当两个顶点的度为奇数,其余 顶点的度为偶数时,可以从一个奇数顶点出发, 经过每条边一次,最后到达另一奇数顶点。 “欧拉回路问题”:只有所有的顶点的度都是 偶数,才能从一个顶点出发,经过每条边一次, 最后回这个顶点。 欧拉证明七桥问题无解。
2019/2/11
6
七桥问题
East Prussia's Seven Bridges Requirements from one to proceed through the bridge happens every time, finally back on track. 1736 Euler to the land as vertices, edges will be the bridge to the practical problems this abstract model into a map. "One stroke problem": When two vertices degree is odd, the remaining vertices of the degree is even, odd from a vertex, goes through each edge once, and finally to another odd vertex. "Euler circuit problem": only the degree of all vertices are even, to proceed from one vertex through each edge once, and finally back to the vertex.
*7.2.4 邻接多重表 )
7.3 图的遍历

7.4 图的连通性问题

7.5 有向无环图及其应用

7.5.1 拓扑排序 *7.5.2 关键路径
7.6.1 从某个源点到其它各顶点的最短路径 7.6.2 每一对顶点之间的最短路径
12
7.6 最短路径 (*7.7 算法设计举例)
连通图
生成树(自由树)
22
2019/2/11
树或自由树或无根树
无回路的图称为树或自由树 或无根树
2019/2/11
23
图的概念(8)
有向树:只有一个顶点的入度为0,其余 顶点的入度为1的有向图。
V1 V2
有向树是弱 连通的
V3
V4
2019/2/11
24
自测题
7. 下列关于无向连通图特性的叙述中,正确的 是 Ⅰ. 所有顶点的度之和为偶数 Ⅱ. 边数大于顶点个数减1 Ⅲ. 至少有一个顶点的度为1 A. 只有Ⅰ B. 只有Ⅱ C. Ⅰ和Ⅱ D. Ⅰ和Ⅲ
【北方交通大学 2001 一.24 (2分)】 A
2019/2/11 28
自测题 2
设无向图的顶点个数为n,则该图最多有( ) 条边。 A.n-1 B.n(n-1)/2 C.n(n+1)/2 D. 0 E.n2 【烟台大学2007一.15(2分)】 【编者: 最少多少条边?】 B
2019/2/11 29
2019/2/11
ห้องสมุดไป่ตู้
14
图的示例

v1
v3
v2
v4
G1
图G1中: V(G1)={v1,v2,v3,v4} E(G1)={<v1,v2>, <v2,v1>, <v1,v3>, <v1,v4>}
v1 v2 v4 G2
2019/2/11 15
v3 图G2中: V(G2)={v1,v2,v3,v4} E(G2)={(v1,v2), (v1,v3), (v1,v4), (v2,v3),(v2,v4), (v3,v4)}
有向图——有向图G是由两个集合V(G)和E(G)组成
V(G)是顶点的非空有限集,E(G)是有向边(也称弧)的有 限集合,弧是顶点的有序对,记为<vi,vj>,vi,vj是顶点, vi为弧尾,vj为弧头
无向图——无向图G是由两个集合V(G)和E(G)组成
V(G)是顶点的非空有限集,E(G)是边的有限集合,边是顶 点的无序对,记为(vi,vj)或(vj,vi),并且(vi,vj)=(vj,vi)
2 1 4 3 5 6 路径长度:5 简单路径:1,2,3,5 回路:1,2,3,5,6,3,1 简单回路:3,5,6,3 路径:1,2,5,7,6,5,2,3 路径长度:7 简单路径:1,2,5,7,6 回路:1,2,5,7,6,5,2,1 简单回路:1,2,3,1
1
3
2019/2/11
5
2 4
7
2019/2/11 9
本章目录
7.1 图的定义和术语 7.2 图的存储结构

7.2.1 数组表示法 7.2.2 邻接表 ( *7.2.3 十字链表 7.3.1 深度优先搜索 7.3.2 广度优先搜索 7.4.1 图的连通分量和生成树 7.4.2 最小生成树
*7.2.4 邻接多重表 )
7.3 图的遍历

2019/2/11
图的示例(有向图与无向图)
V1 V2
V1
V2
V3 V3 V4 V4 V5
结点之间的关系:多对多,任两个结点之间 都可能有关系存在
2019/2/11 13
图的概念(1)
图(Graph)——图G是由两个集合V(G)和E(G)组成 的,记为G=(V,E)
其中:V(G)是顶点的非空有限集 E(G)是边的有限集合,边是顶点的无序对或有序对
(Vi1,Vi2), … , (Vin,Vq) E (G),则称vp到vq存在路径. 路径长度——沿路径边的数目或沿路径各边权值之和. 回路——第一个顶点和最后一个顶点相同的路径叫回路 简单路径——序列中顶点不重复出现的路径叫简单路径 简单回路——除了第一个顶点和最后一个顶点外,其余顶点不 重复出现的回路叫简单回路 路径:1,2,3,5,6,3
6
18
图的概念(5)
连通——从顶点Vi到顶点vj有一条路径,则说Vi和vj是连通的 连通图——图中任意两个顶点都是连通的图叫连通图 连通分量——无向图中的最大(含的边和顶点最多)连通子图 强连通图——有向图中,如果对每一对Vi,VjV, ViVj,从Vi到
Vj 和从Vj到 Vi都存在路径,则称G是强连通图
2019/2/11
7
七桥问题
此题被人教版小学数学第十二册书收录.在95页。 此题也被人教版初中第一册收录.在一百二十一页
2019/2/11
8
清华大学2001
设在4地(A,B,C,D)之间架设有6座桥,如图所示:
要求从某一地出发,经过每座桥恰巧一次,最后仍回到原地。 (1)试就以上图形说明:此问题有解的条件是什么? (5分) (2)设图中的顶点数为n,试用C或PASCAL描述与求解此问题有关 的数据结构并编写一个算法,找出满足要求的一条回路。(10分)
2019/2/11 26
图的主要操作
GraphLocateVertex(G,v); GraphGetVertex(G,v); GraphFirstAdj(G,v); GraphNextAdj(G,v,w);
2019/2/11
27
自测题 1
图中有关路径的定义是( )。
A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列 C.由不同边所形成的序列 D.上述定义都不是
第7章 图
冯广慧 讲授
1
图的应用历史
十八世纪东普鲁士柯尼斯堡城(二战后 叫加里宁格勒 ,现属俄罗斯)的七桥问 题 要求从某一地出发,经过每座桥恰巧一 次,最后仍回到原地。
2019/2/11
2
东普鲁士的七桥问题
2019/2/11
3
东普鲁士的七桥问题
2019/2/11
4
欧拉对七桥问题的解答
【2009年全国硕士研究生入学计算机学科专业基础综合试题】
2019/2/11 A
25
抽象数据类型图的定义
ADT Graph{ 数据对象 V:V是具有相同特性的数据元素的集合,称为顶点集。 数据关系 R:R={VR} VR={<v,w>|v,w V且P(v,w), <v,w>表示从v到w的弧, 谓词P(v,w)定义了弧<v,w>的意义或信息} 基本操作P: GraphCreat(G,,V,VR); GraphDestory(G); GraphLocateVertex(G,v); GraphGetVertex(G,v); GraphFirstAdj(G,v); GraphNextAdj(G,v,w); GraphInsertVertex(G,v); GraphDeleteVertex(G,v); GraphInsertArc(G,v,w); GraphDeleteArc(G,v,w); DFSTtraverse(G,v,Visit()); BFSTtraverse(G,v,Visit()); }ADT Graph
自测题 3
一个有n个结点的图,最少有( )个连通分量, 最多有( )个连通分量。 A. 0 B. 1 C.n-1 D. n 【北京邮电大学 2000 二.5 (20/8分)】 B D
网(络)——带权的图叫网
v1 5
3 8 6
v2
11
4 10 v5
v3
2
v4
2019/2/11
21
图的概念(7)
一个连通图的 生成树 是一个极小连通子图, 它含有图中全部顶点,但只有足以构成一棵 树的n-1条边。 一棵有n个顶点的生成树有且仅有n-1条边。
1 3 2 5 4 7 6 3 1 2 5 4 7 6
11
重点难点




2019/2/11
本章目录
7.1 图的定义和术语
7.2 图的存储结构

7.2.1 数组表示法 7.2.2 邻接表 ( *7.2.3 十字链表 7.3.1 深度优先搜索 7.3.2 广度优先搜索 7.4.1 图的连通分量和生成树 7.4.2 最小生成树

7.4 图的连通性问题

7.5 有向无环图及其应用


7.5.1 拓扑排序 *7.5.2 关键路径
7.6.1 从某个源点到其它各顶点的最短路径 7.6.2 每一对顶点之间的最短路径
7.6 最短路径 (*7.7 算法设计举例)

2019/2/11

10
主要内容
知识点

1.图的定义,概念、术语及基本操作。 2.图的存储结构,特别是邻接矩阵和邻接表。 3.图的深度优先遍历和宽度优先遍历。 4.图的应用(连通分量,最小生成树,拓扑排序,关键路经, 最短路经)。
1.基本概念中,完全图、连通分量、生成树和邻接点是重点。 2.建立图的各种存储结构的算法。 3.图的遍历算法及其应用。 4.通过遍历求出连通分量的个数,深(宽)度优先生成树。 5.最小生成树的生成过程。 6.拓扑排序的求法。关键路经的求法。 7.最短路径的手工模拟。
2 1 4 3 连通图 2 1 4 3 非强连通图
2019/2/11
5 6 3
5 6
强连通图
5 6 1 2 3 5 6
强连通分量
19
连通分量及强连通分量示例
A A D D v1 v3
E E B F C B C
F v2
G4及其两个连通分量 G3的强连通分量
2019/2/11
20
图的概念(6)
权——与图的边或弧相关的数叫权
有向完全图:n个顶点的有向图最大边数是n(n-1) 无向完全图:n个顶点的无向图最大边数是n(n-1)/2 邻接点:若(vi,vj)是一条无向边,则称vi和vj互为~ 关联:vi和vj互为邻接点,称边(vi,vj)关联于顶点vi和vj 顶点的度

图的概念(2)
无向图中,顶点的度为与每个顶点相连的边数,记为D(v) 有向图中,顶点的度分成入度与出度,其中入度是以该顶 点为头的弧的数目,记为ID(v)。出度是以该顶点为尾的弧 的数目,记为OD(v)。顶点的度为入度和出度的和,即 D(v)=ID(v)+OD(v)。 v1 v1 v3 v2 v3 v4 v2
相关文档
最新文档