- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
06图03-数据结构课程教学网站
6 图(3)
熟练掌握图的概念和术语,图的邻接矩阵与邻接表两种存储方法。
熟练掌握图的遍历的概念,图的DFS与BFS方法与算法。
掌握最小生成树的概念,构造最小生成树的方法,求图的最小生成树的算法。
掌握最短路径的概念,图的单源点最短路径的求解方法。了解单源点最短路径的算法;
掌握拓扑排序和关键路径的方法,了解拓扑排序和关键路径的算法。
教学目标
6.1 图的定义和术语
6.2 图的存储表示
6.3 图的遍历
6.4 最小生成树
6.5 两点之间的最短路径问题
6.6 拓扑排序
6.7 关键路径
教学内容
回顾和复习
1)什么是图的最小生成树?
2)求解图的最小生成树有哪两种方法?
3)Prim和Kruscal算法的应用场合?
4)什么是图的单源最短路径?
5)求解图的单源最短路径和的任意两点之间的最短路径的方法分别是什么?
6.6 拓扑排序
提出问题:
1)如何判断一个有向图是否存在回路?
2)如何合理进行选课确保选修课程的顺序符合先修课的要求?
AOV网:在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,称这样的有向图为顶点表示活动的网,简称AOV网。
2.AOV网中不能出现回路 。
AOV网特点:
1.AOV网中的弧表示活动之间存在的某种制约关系。
Activity On Vertex Network
有向无环图简称为DAG图(Directed acycline Graph)
编号
课程名称
先修课
C1
高等数学
无
C2
计算机导论
无
C3
离散数学
C1
C4
程序设计
C1, C2
C5
数据结构
C3,C4
C6
计算机原理
C2,C4
C7
数据库原理
C4,C5,C6
AOV网应用举例
“拓扑排序”的相关知识
具体可对有向图进行如下操作:
按照有向图给出的次序关系,将图中顶点排成一个线性序列,对于有向图中没有限定次序关系的顶点,则可以人为加上任意的次序关系。
由此所得顶点的线性序列称之为拓扑有序序列。
检查有向图中是否存在回路的方法之一,就是对有向图进行拓扑排序。
例如:对于有向图
可求得拓扑有序序列:A B C D 或 A C B D
对于有向图
不能求得它的拓扑有序序列。
因为图中存在一个回路 {B, C, D}
如何进行拓扑排序?
一、从有向图中选取一个没有前驱的顶点,并输出;
二、从有向图中删去此顶点以及所有以它为尾的弧;
三、重复上述两步,直到全部顶点都被输出,或图中不存在无前驱的顶点。
a
b
c
g
h
d
f
e
a
b
h
c
d
g
f
e
在算法中需要用定量的描述替代定性的概念
没有前驱的顶点 ?? 入度为零的顶点
删除顶点及以它为尾的弧 ?? 弧头顶点的入度减1
设计数据结构
1. 图的存储结构:采用邻接表存储 ,在顶点结构体中增加一个入度域。
(也可使用独立数组inDegree[MaxVN])
顶点结构体
2. 栈S:存储所有无前驱的顶点。
拓扑排序通常采用邻接表,这样可以取得较高的效率
(a) 一个AOV网 (b) AOV网的邻接表存储
0
1
2
3
4
5
in vertex firstedge
3 A ∧
0 B
1 C
3 D
0 E
2 F ∧
0
3 ∧
0
0
5 ∧
2
3 ∧
3
5 ∧
拓扑排序
拓扑排序
0
1
2
3
4
5
in vertex firstedge
3 A ∧
0 B
1 C
3 D
0 E
2 F ∧
0
3 ∧
0
0
5 ∧
2
3 ∧
3
5 ∧
B
E
拓扑排序
0
1
2
3
4
5
in vertex firstedge
3 A ∧
0 B
1 C
3 D
0 E
2 F ∧
0
3 ∧
0
0
5 ∧
2
3 ∧
3
5 ∧
B
E
0
C
2
1
拓扑排序
0
1
2
3
4
5
in vertex firstedge
3 A ∧
0 B
0 C
2 D
0 E
1 F ∧
0
3 ∧
0
0
5 ∧
2
3 ∧
3
5 ∧
B
C
2
1
拓扑排序
0
1
2
3
4
5
in vertex fir
文档评论(0)