- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计科系-王丹丹
第7章 图
本章主要内容
图的基本概念
图的存储结构
图的遍历
最小生成树
最短路径
拓扑排序
关键路径
1
2
3
4
5
6
7
8
9
7.1 开场白
在实际生活中,有许多应用问题都可以归结为图的问题。
例如交通旅游中,城市和城市间距离信息就可以使用一个图来描述。
图就是一个由点及点之间的连线组成的集合。
7.2 图的定义
图
图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为G(V,E),G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
注意
名称
数据元素
无数据元素
相邻元素间关系
线性表
元素
空表
线性关系
树
结点
空树
层次关系
图
顶点(Vertex)
不允许没有结点
顶点间的逻辑关系用边来表示
7.2.1 各种图定义
A
D
B
C
可以写成(A,D)
A
D
B
C
不能写成A,C
A
D
B
C
A
D
B
C
结论:对于具有n个顶点和e条边数的图,无向图0≤e≤n(n-1)/2,有向图0≤e≤n(n-1)。
A
D
B
C
1000
700
800
808
660
A
D
B
C
7.2.2 图的顶点与边间关系
A
D
B
C
A
D
B
C
A
D
B
C
A
D
B
C
A
D
B
C
A
D
B
C
例:顶点B到顶点D有两种路径
回路/环(Cycle)
第一个顶点到最后一个顶点相同的路径。
简单路径
序列中顶点不重复出现的路径。
简单回路/简单环
除第一个顶点和最后一个顶点之外,其余顶点不重复出现的回来。
例:
A
D
B
C
A
D
B
C
第一个顶点和最后一个顶点都是B,且C、D、A没有重复出现。简单环
由于顶点C、的重复出现。不是简单环
7.2.3 连通图相关术语
A
D
B
C
A
D
B
C
F
E
不是连通图
连通图
连通分量
无向图中的极大连通子图。
概念强调:
例:
连通子图含有极大顶点数
子图要是连通的
要是子图
具有极大顶点数的连通子图包含依附于这些顶点的所有边
A
D
B
C
A
D
B
C
F
E
F
E
A
B
C
图1
图4
图3
图2
图1的连通分量是图2和图3。
A
D
B
C
A
B
C
图1
图2
图1:不是强连通图
图2:是图1的极大强连通子图(强连通分量)
生成树
一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边。
例:
生成森林
如果一个有向图恰有一个顶点的入度为0,其余顶点的入度均为1,则是一棵有向树。
一个有向图的生成森林由若干棵有向树组成,含有图中全部顶点,但只有足以构成若干棵不相交的有向树的弧。
例:
A
D
B
C
图1
图2
E
F
G
A
D
B
C
E
F
G
图3
有向图
生成
森林
7.3 图的抽象数据类型
ADT 图(Graph)
Data
顶点的有穷非空集合和边的集合。
Operation
CreateGraph(*G,V,VR):按照顶点集V和边弧VR的定义构造图G。
DestroyGraph(*G):图G存在则销毁。
LocateVex(G,u):若图G中存在顶点u,则返回图中的位置。
GetVex(G,v):返回图G中顶点v的值。
PutVex(G,v,value):将图G中顶点v赋值value。
FirstAdjVex(G,*v)
NextAdjVex(G,v,*w)
InsertVex(*G,v)
……
endADT
7.4 图的存储结构
从图的逻辑结构定义来看,图上任何一个顶点都可被看成是第一个顶点,任一顶点的邻接点之间也不存在次序关系。
右图是同一个图,只不过顶点位置不同。
7.4.1 邻接矩阵
顶点数组
Vertex[4]
边数组
arc[4][4]
有了矩阵就很容易知道图中的信息。判断任意两点是否有边?某顶点的度?求顶点的所有邻接点?
V0的度为2
V0的所有邻接点
例:有向图样例如图所示
分析:
主对角线上数值仍然为0;
因为是有向图,矩阵并不对称;
有向图的入度和出度。
顶点数组
Vertex[4]
边数组
arc[4][4]
V1的入度为1
V1的出度为2
判断任意两点是否有边?某顶点的度?求顶点的所有邻接点?
顶点数组
Vertex[4]
边数组
arc[4][4]
1
5
3
2
9
6
图的邻接矩阵存储的结构
/*图的邻接矩阵存储的结构*/
typedef char VertexType; //顶点类型定义
typedef int Edg
您可能关注的文档
- 第三章核酸的结构和功能重点.ppt
- 第三章货币资金和应收款项(厦大会计)重点.ppt
- 《排水工程》(下册)第四版课件讲述.ppt
- 两个体系基础知识讲述.ppt
- 《庖丁解牛》实用2016.12.12讲述.ppt
- 《汽车自动变速器原理》课程标准讲述.doc
- 两三位数乘一位数(连续进位)的乘法笔算讲述.ppt
- 《培养方案管理系统》使用培训讲述.pptx
- 《品德与社会》三年级下第四单元讲述.doc
- 两学一做实事求是闯新路讲述.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)