图的基本概念和存储结构课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《图的基本概念和存储结构课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本概念 存储 结构 课件
- 资源描述:
-
1、图和图的存储结构图和图的存储结构 图的定义和术语图的定义和术语 图的存储表示图的存储表示 小结小结用用java语言描述图的存储结构语言描述图的存储结构 课堂练习课堂练习1.图的定义图的定义2.图的名词和术语图的名词和术语3.图的基本操作图的基本操作图和图的存储结构图和图的存储结构图的定义图的定义 图(graph)是由一个顶点(vertex)集 V 和一个边(edge|弧arc)集 E构成的数据结构。Graph=(V,E)E(v,w|v,wV)每条边(edge)是一副点对(v,w),其中v,w V。表示从 v 到 w 的一条边(弧),称 v 为弧尾(tail),w 为弧头(head)。图的定义图
2、的定义有向图有向图 如果“弧”是有方向的,则称由顶点集和弧集构成的图为有向图有向图(digraph)。EACBD例如例如:G1=(V1,E1)V1=A,B,C,D,EE1=,图的定义图的定义无向图无向图若若 E 必有必有 E,则以无序对则以无序对(v,w)代替这两个有序对,称代替这两个有序对,称 (v,w)为顶点为顶点 v 和顶和顶点点 w 之间存在一条边。之间存在一条边。上述这种由顶点集和边集构成的图称作上述这种由顶点集和边集构成的图称作无向图无向图。图的定义图的定义无向图无向图例如例如:G2=(V2,E2)BCAFEDV2=A,B,C,D,E,FE2=(A,B),(A,E),(B,E),(
3、B,F),(C,D),(C,F)(D,F弧除了有向和无向的含义之外,有时候还具有弧除了有向和无向的含义之外,有时候还具有第三种成分,称为权第三种成分,称为权(weight)或值或值(cost)。名词和术语名词和术语1 1)子图、网子图、网 2 2)完全图、稀疏图、稠密图完全图、稀疏图、稠密图3 3)邻接点、度、入度、出度邻接点、度、入度、出度4 4)路径、路径长度、简单路径、简单回路路径、路径长度、简单路径、简单回路5 5)连通图、强连通图、弱连通图连通图、强连通图、弱连通图1)子图、网 设图G=(V,E)和图 G=(V,E),且 VV,EE,则称 G 为 G 的子图。EACBDEACBDB名
4、词和术语名词和术语弧或边带权的图分别称作有向网或无向网。ABECD1597211132名词和术语名词和术语1)子图、网 2)完全图、稀疏图、稠密图假设图中有 n 个顶点,e 条边,则含有 e=n(n-1)/2 条边的无向图称作完全图;含有 e=n(n-1)条弧的有向图称作有向完全图;若边或弧的个数 enlogn,则称作稀疏图,否则称作稠密图。名词和术语名词和术语3)邻接点、度、入度、出度邻接点:假若顶点v和顶点w之间存在一条边,则称顶点v和w互为邻接点,度:和顶点v关联的边的数目,记为TD(v)。边(v,w)和顶点v和w相关联。名词和术语名词和术语ACDFEBTD(B)=3TD(A)=23)邻
5、接点、度、入度、出度ABECD顶点的出度:以顶点v 为弧尾的弧的数目;记为OD(v)对于右图所示的有向图来说,由于弧有方向性,则有入度和出度之分。名词和术语名词和术语3)邻接点、度、入度、出度顶点的入度:以顶点v为弧头的弧的数目,记为ID(v)顶点的度(TD)=出度(OD)+入度(ID)ID(B)=2OD(B)=1TD(B)=3名词和术语名词和术语ABECDID(A)=1OD(A)=2TD(A)=33)邻接点、度、入度、出度名词和术语名词和术语ABECD在一个图中,所有顶点的度数之和等于所有边数的()倍。A.1/2 B.1 C.2 D.4ACDFEB思考思考ABECD4)路径、路径长度、简单路
6、径、简单回路、圈(环)路径:设图G=(V,E)中的一个顶点序列u=v1,v2,vN=w中,(vi,vi+1)E,0iN,则称从顶点u 到顶点w 之间存在一条路径。如:从A到D长度为 3 的路径A,B,C,D名词和术语名词和术语路径长度:路径上边的数目。简单路径:指序列中顶点不重复出现的路径。简单回路:指序列中第一个顶点和最后一个顶点相同的路径。名词和术语名词和术语圈(cycle):是满足v1=vN且长至少为1的一条路径。如果该路径是简单路径,那么这个圈就是简单圈。一个有向无圈图简称为DAG。ABECD4)路径、路径长度、简单路径、简单回路、圈(环)5)连通图、强连通图、弱连通图连通图:若无向图
7、G中任意两个顶点之间都有路径相通,则称此图为连通图;BACDFE名词和术语名词和术语强连通图:若有向图任意两个顶点之间都存在一条有向路径,则称为强连通图。ABECD名词和术语名词和术语若有向图去掉弧的方向后是连通的,则称为弱连通图。5)连通图、强连通图、弱连通图基本操作基本操作1.结构的建立和销毁结构的建立和销毁3.插入或删除顶点插入或删除顶点5.对邻接点的操作对邻接点的操作2.对顶点的访问操作对顶点的访问操作6.遍历遍历4.插入和删除弧插入和删除弧CreatGraph(V,E):/按定义(V,E)构造图DestroyGraph(G):/销毁图1.结构的建立和销毁结构的建立和销毁基本操作基本操
8、作2.对顶点的访问操作对顶点的访问操作LocateVex(u);/若G中存在顶点u,则返回该顶点在/图中“位置位置”;否则返回其它信息。GetVex(v);/返回 v 的值。PutVex(v,value);/对 v 赋值value。基本操作基本操作3.插入或删除顶点插入或删除顶点InsertVex(v);/在图G中增添新顶点v。DeleteVex(v);/删除G中顶点v及其相关的弧。基本操作基本操作4.插入和删除弧插入和删除弧InsertArc(v,w);/在G中增添弧,若G是无向的,/则还增添对称弧。DeleteArc(v,w);/在G中删除弧,若G是无向的,/则还删除对称弧。基本操作基本操
9、作5.对邻接点的操作对邻接点的操作FirstAdjVex(v);/返回 v 的“第一个邻接点第一个邻接点”。若该顶点/在 G 中没有邻接点,则返回“空”。NextAdjVex(v,w);/返回 v 的(相对于 w 的)“下一个邻接下一个邻接 点点”。/若 w 是 v 的最后一个邻接点,则返回“空”。基本操作基本操作6.6.遍历遍历DFSTraverse(G,v);/从顶点v起深度优先深度优先遍历图G。BFSTraverse(G,v);/从顶点v起广度优先广度优先遍历图G。基本操作基本操作一、一、图的数组图的数组(邻接矩阵邻接矩阵)存储表示存储表示二、二、图的邻接表存储表示图的邻接表存储表示图的
10、存储表示图的存储表示三、三、存储结构的比较存储结构的比较图的存储表示图的存储表示-邻接矩阵1325674邻接矩阵(adjacent matrix)表示法:使用一个二维数组,对于每一条边(u,v),置Auv=true;否则,为false。如果边有一个权,可以置Auv等于该权,而使用一个很大或者很小的权作为标记表示不存在的边。图的存储表示图的存储表示-邻接矩阵1 2 3 4 5 6 7 1325674tttttttttttt1234567图的存储表示图的存储表示-邻接矩阵BACDFE无向图:对称矩阵无向图:对称矩阵ABCDEFABCDEF0 1 0 0 1 0 1 0 0 0 1 1 0 0 0
11、1 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 l对于稠密(dense)图合适。图的存储表示图的存储表示-邻接表邻接表(adjacency list)表示法:对每一个顶点,使用一个表存放所有邻接的顶点。如果边有权,那么这个附加信息也可以存储在邻接表中。1325674图的存储表示图的存储表示-邻接表12345672,3,44,563,6,74,7(empty)6l对于稀疏(sparse)图合适。这种邻接表本身可以被保存在任何种类的List中。ArrayList和LinkedList。1325674图的存储表示图的存储表示-邻接表邻接表:图的链式存储结构邻接表:
展开阅读全文