版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章非线性数据结构
"线性表
「A线性结构J栈
数
据&数据的逻辑结构d〔队
结
构-B非线性结构J树形结构
的Y
三[图形结构
个
方2、数据的存储结构[人顺序存储
面IB链式存储
(3、数据的运算:检索、排序、插入、删除、修改等。
N01
2011-7-4
3.2图结构
3.2.1图的定义和术语
'图(Graph)—图G是由两个集合V(G)和E(G)组成的,记为G=(V,E)
其中:
♦:*V(G)是顶点的非空有限集
♦:*E(G)是边的有限集合,边是顶点的无序对或有序对
例1:例2:
G1G2
2011-7-4
3.2图结构
3.2.1图的定义和术语
&有向图——有向图G是由两个集合V(G)和E(G)组成的
其中:V(G)是顶点的非空有限集
E(G)是有向边(也称弧)的有限集合,弧是顶点的有序
对,记为<v,w>,V,W是顶点,V为弧尾,W为弧头
例
图G1中:
V(G1)={1,2,3,456}
E(G1)={<1,2>,<2,1>,<2,3>,<2,4>?<3,5>,<5,6>,<6,3>}
N032011-7-4
3.2图结构
3.2.1图的定义和术语
'无向图——无向图G是由两个集合V(G)和E(G)组成的
其中:V(G)是顶点的非空有限集
E(G)是边的有限集合,边是顶点的无序对,记为(v,w)
或(叫V),并且(v,w)=(w,v)的]
图G2中:V(G2)={1,2,3,456,7}
E(G1尸{(1,2),(1,3),(2,3),(2,4),(2,5),(5,6),(5,7)}
N042011-7-4
3.2图结构
3.2.1图的定义和术语
;」有向完全图----n个顶点的有向图最大边数是n(n・1)
&无向完全图——n个顶点的无向图最大边数是n(n-1)/2
例
有向完全图无向完全图
❖权-----与图的边或弧相关的数据信息叫权。
。网图------带权的图叫网图。
N052011-7-4
3.2图结构
3.2.1图的定义和术语
*子图——如果图G(V,E)和图G,(V'E)满足:
❖V9oV
OE七E
则称G,为G的子图
图与子图
N062011-7-4
3.2图结构
3.2.1图的定义和术语
&顶点的度
♦:♦无向图中,顶点的度TD(Vi)为与Vi顶点相连的边数
♦:♦有向图中,顶点的度分成入度ID(V)与出度OD(V)
A入度ID(V):以该顶点为头的弧的数目
A出度OD(V):以该顶点为尾的弧的数目
顶点5的度TD(5尸3顶点2入度ID(2)=1出度OD(2)=3
顶点2的度TD(2尸4顶点4入度ID(4)=1出度OD(4尸0
N072011-7-4
3.2图结构
3.2.1图的定义和术语
&顶点的度
♦:♦无向图中,顶点的度TD(Vi)为与Vi顶点相连的边数
♦:♦有向图中,顶点的度分成入度ID(V)与出度OD(V)
A入度ID(V):以该顶点为头的弧的数目
A出度OD(V):以该顶点为尾的弧的数目
卡对于具有n个顶点、e条边的图,顶点v的度TD(v)与顶点
的个数以及边的数目满足关系:(书139页有错,请改正)
e=(fTD(vi))/2
i=l
N082011-7-4
3.2图结构
3.2.1图的定义和术语
&路径——路径是顶点的序列V={ViO,V“……Vin},满足(VMM)£E
或<Vw,Vij>£E,(1<j«n)
及简单路径——序列中顶点不重复出现的路径叫简单路径。
&路径长度——沿路径边的数目或沿路径各边权值之和。
A回路——第一个顶点和最后一个顶点相同的路径叫回路。
以简单回路——除了第一个顶点和最后一个顶点外,其余顶点
不重复出现的回路叫简单回路。
路径:25
例1,
度
路径
长5
简单
径
路235
回路2563
•.
简单1,
路
回3593
G1
N092011-7-4
&连通——从顶点V到顶点W有一条路径,则说V和W是连通的。
&连通图——图中任意两个顶点都是连通的叫连通图。
&连通分量——非连通图的每一个连通部分叫连通分量。
&强连通图——有向图中,如果对每一对ViWViwVj,从Vi到Vj
和从Vj到Vi都存在路径,则称G是强连通图。
NO102011-7-4
♦:.生成树—连通图G的生成树是包含G中所有顶点的一个
极小连通子图,它有且仅有面条边。
特点:
1)任意两顶点间有且仅有一条路经
2)在生成树中添加任意一条属于G的边必定会产生回路
3)若生成树中减少任意一条边,则必然成为非连通图
连通图GG的生成树
N0112011-7-4
3.2图结构
3.2.2图的存储结构
「图中顶点的信息
图的信息包括两部分V
L边或弧的信息
图的存储结构应完整、准确地反映这两部分信息。
常用的存储方式有:
①邻接矩阵
②邻接表
③十字链表
N0122011-7-4
一、邻接矩阵
邻接矩阵存储结构是用一维数组存储图中顶点的信息,用
矩阵表示图中各顶点的邻接关系——表示顶点间相联关系的矩
阵。
♦:♦定义:设G=(V,E)是有仑1个顶点的图,G的邻接矩阵A是具
有以下性质的n阶方阵:
1,若Vj)或<vi?Vj>eE(G)
/忆刀=
o,其它
①②③④⑤
①0101o-
②10101
③01011
④10100
⑤01100
NO132011-7-4
一、邻接矩阵
邻接矩阵存储结构是用一维数组存储图中顶点的信息,用
矩阵表示图中各顶点的邻接关系——表示顶点间相联关系的矩
阵。
♦:♦定义:设G=(V,E)是有*1个顶点的图,G的邻接矩阵A是具
有以下性质的n阶方阵:
1,若(v「Vj)或<vi9v.>eE(G)
①②③④
N0142011-7-4
♦:♦若G=(V,E)是网图,贝IJG的邻接矩阵的元素值为边的权值。
%,(Vi,Vj),VVj>eE(G)
/必力=
00,其它
①②③④⑤
例
①0057oo3一
②5000048
③700821
④0042006
⑤L381600
N0152011-7-4
右邻接矩阵的特点:
♦:♦若G为无向图,贝ij:
A邻接矩阵A为对称矩阵,可压缩存储;有n个顶点的无向
图需存储空间为n(n+1)/2;
A第i行非0元素的个数为顶点Vi的度,TD(Vi)
①②③④⑤
①「o10101
②10101
③01011
TD(1)=2④10100
TD(2)=3⑤Lo1100
TD(3)=3
TD(4)=2
TD(5)=2
N0162011-7-4
*邻接矩阵的特点:
♦:♦若G为有向图,则:
A有向图邻接矩阵不一定对称;有n个顶点的有向图需存
1诸空间为1;
A顶点Vi的出度是A中第i行元素之和;
>顶点Vi的入度是A中第i列元素之和。
①②③④
①ro110
②0000
③0001
ID(1)=1@Li000
OD(1)=2
N0172011-7-4
右邻接矩阵的特点:
♦:♦若G为无向图,贝IJ:
A邻接矩阵A为对称矩阵,可压缩存储;有n个顶点的无向
图需存储空间为n(n+1)/2;
A第i行非0元素的个数为顶点Vi的度,TD(Vi)o
♦:♦若G为有向图,贝IJ:
A有向图邻接矩阵不一定对称;有n个顶点的有向图需存
[诸空间为X;
>顶点Vi的出度是A中第i行元素之和;
>顶点Vi的入度是A中第i列元素之和。
・缺点:
统计图中边的总数时,需按行按列逐个检测、代价大。
N0182011-7-4
二、邻接表
♦:♦邻接表是一种顺序存储(顶点顺序表)与链式存储(边的单链
表)结合的存储方法,类似于树的孩子链表表示法。
typedefstructnode
{intadjvex;
structnode*next;
}JD;
adjvexnext
表头接点:
typedefstructtnode
{intvdata;
vdatafirst
structnode*first;
}TD;
TDga[M];
N0192011-7-4
二、邻接表
♦:♦邻接表是一种顺序存储(顶点顺序表)与链式存储(边的单
链表)结合的存储方法,类似于树的孩子链表示法。
vdatafirstadjvexnext
1a—24A
A
2b—1435
3c—2;45A
4
d—1.3A
5e—2.3A
NO202011-7-4
♦:♦特点
A无向图中顶点Vi的度为第i个单链表中的结点数
TD(a)=2
TD(b)=3
TD(c)=3
TD(d)=2
TD(e)=2
N0212011-7-4
二、邻接表
♦:♦邻接表是一种顺序存储(顶点顺序表)与链式存储(边的单
链表)结合的存储方法,类似于树的孩子链表示法。
vdatafirstadjvexnext
a—32A
bA
c4A
d1A
NO222011-7-4
♦:♦特点
A有向图中
来顶点Vi的出度为第i个单链表中的结点个数;
来顶点Vi的入度为整个单链表中邻接点域值是i的结点个数。
OD(a)=2
OD(b)=0
0D(c)=1
0D(d)=1
NO232011-7-4
♦:♦特点
A无向图中顶点Vi的度为第i个单链表中的结点数;
A有向图中
来顶点Vi的出度为第i个单链表中的结点个数;
来顶点Vi的入度为整个单链表中邻接点域值是i的结点个数。
I逆邻接表:有向图中对每个结点建立以Vi为头的弧的单链表。
例ID(a)=1vdatafirstadjvexnext
—A
ID(b)=1a4
ID(c)=1b1A
ID(d)=1c—1A
d—3A
NO242011-7-4
323图的遍历
一、深度优先遍历(DFS)
♦:♦方法:从图的某一顶点Vo出发,访问此顶点;然后依次从
Vo的未被访问的邻接点出发,深度优先遍历图,直至图中
所有和Vo相通的顶点都被访问到;若此时图中尚有顶点未
被访问,则另选图中一个未被访问的顶点作起点,重复上
述过程,直至图中所有顶点都被访问为止。
例
假定从V1出发,遍历次序如何?
深度遍历:V?:nV4nV8-5^V3^V6^V7
NO252011-7-4
例
深度遍历:vx=>v2=>v4V8=>V5=>v6=>v3=>V7
NO262011-7-4
3.2.3图的遍历
二、广度优先遍历(BFS)
方法:从图的某一顶点V0出发,访问此顶点后,依次访
问V0的各个未曾访问过的邻接点;然后分别从这些邻接
点出发,广度优先遍历图,直至图中所有已被访问的顶
点的邻接点都被访问到;若此时图中尚有顶点未被访问
,则另选图中一个未被访问的顶点作起点,重复上述过
程,直至图中所有顶点都被访问为止。
广度遍历:V1=>V2nV3=>
V4=>V5=>V6nV7=>V8
NO272011-7-4
广度遍历:VinV2nV3=>V4nV5nV6
nV7nV8
NO282011-7-4
6.4生成树
I♦:♦定义:所有顶点均由边连接在一起,但不存在回路的图叫〜
I♦:♦深度优先生成树与广度优先生成树
I♦:♦生成森林:非连通图每个连通分量的生成树一起组成非连通
图的〜
I♦:♦说明
A一个图可以有许多棵不同的生成树©
»所有生成树具有以下共同特点:0x70
来生成树的顶点个数与图的顶点个数相同T/
来生成树是图的极小连通子图@
来一个有n个顶点的连通图的生成树有n・1条边
来生成树中任意两个顶点间的路径是唯一的
来在生成树中再加一条边必然形成回路
s”》含n个顶点面条边的图不一定是生成树
NO292011.7.4
广度优先生成树
深度优先生成树
NO302011-7-4
例
B深度优先生成森林
N0312011-7-4
♦:♦最小生成树
A问题提出
要在n个城市间建立通信联络网,
顶点——表示城市
权—城市间建立通信线路所需花费代价
希望找到一棵生成树,它的每条边上的权值之和(即建立
该通信网所需花费的总代价)最小-----最小代价生成树
问题分析
n个城市间,最多可设置n(n・l)/2条线路
n个城市间建立通信网,只需n・l条线路
问题转化为:如何在可能的线路中选择n・l条,能把
所有城市(顶点)均连起来,且总耗费
(各边权值之和)最小
NO322011-7-4
A构造最小生成树方法
来方法一:普里姆(Prim)算法
》算法思想:设N=(V,{E})是连通网,TE是N上
最小生成树中边的集合
初始令U={llo},(UowV),TE=O>
在所有U£U,V£V・U的边(U,V)£E中,找一条
代价最小的边(uO,vO)
将(uO,vO)并入集合TE,同时vO并入U
重复上述操作直至U=V为止,贝|JT=(V,{TE})
为N的最小生成树
NO332011-7-4
崇方法二:克鲁斯卡尔(Kruskal)算法
》算法思想:设连通网N=(V,{E}),令最小生成树
初始状态为只有n个顶点而无边的非连通图
T=(V,{<D}),每个顶点自成一个连通分量
在E中选取代价最小的边,若该边依附的顶点落在T中不
同的连通分量上,则将此边加入到T中;否则,舍去此
边,选取下一条代价最小的边
依此类推,直至T中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏淮安市洪泽区中医院招聘合同制专业技术人员2人(第二批)备考考试试题及答案解析
- 团结部门的活动策划方案
- 2025四川绵阳市中心医院合同制工勤人员招聘3人参考考试试题及答案解析
- 2025福建福州市园开港湾经贸有限公司招聘1人参考笔试题库附答案解析
- 2025江苏南通市苏锡通科技产业园区招商服务有限公司第二批次招聘延期模拟笔试试题及答案解析
- 2025湖南郴州市第四人民医院招聘(引进)高层次专业技术人才24人参考考试试题及答案解析
- 深度解析(2026)《GBT 25728-2024粮油机械 气压磨粉机》
- 2025人民网宁夏分公司招聘媒介顾问2人参考笔试题库附答案解析
- 2026年河北张家口经开区编办青年就业见习岗位招聘备考笔试试题及答案解析
- 2025青海海南州同德县人民医院招聘消防专职人员1人参考笔试题库附答案解析
- 2025年淮北市相山区公开招考村(社区)后备干部66名笔试考试参考试题及答案解析
- 2025年贵州锦麟化工有限责任公司招聘备考题库及一套参考答案详解
- 2025年石家庄市公安局鹿泉分局公开招聘留置看护警务辅助人员30人的备考题库有答案详解
- 【数 学】2025-2026学年北师大版七年级数学上册期末综合提升卷III
- 车辆运营托管协议书
- 2025年甘肃省书记员考试试题及答案
- 【MOOC】3D工程图学-华中科技大学 中国大学慕课MOOC答案
- 电工基础(第六版)课后习题答案
- 快消品年度工作计划
- 医院后勤设备安全运维管理
- 思想道德与法治课件:第六章 第四节 自觉尊法学法守法用法
评论
0/150
提交评论