数据结构培训.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构培训.pptx》由会员分享,可在线阅读,更多相关《数据结构培训.pptx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、例245136G1图G1中:V(G1)=1,2,3,4,5,6 E(G1)=,例157324G26图G2中:V(G2)=1,2,3,4,5,6,7 E(G1)=(1,2),(1,3),(2,3),(2,4),(2,5),(5,6),(5,7)第1页/共54页有向完全图n个顶点的有向图边数是n(n-1)无向完全图n个顶点的无向图边数是n(n-1)/2权与图的边或弧相关的数叫网带权的图叫子图如果图G(V,E)和图G(V,E),满足:VVEE 则称G为G的子图顶点的度无向图中,顶点的度为与每个顶点相连的边数有向图中,顶点的度分成入度与出度入度:以该顶点为头的弧的数目出度:以该顶点为尾的弧的数目路径路
2、径是顶点的序列V=Vi0,Vi1,Vin,满足(Vij-1,Vij)E 或 E,(1jn)第2页/共54页路径长度沿路径边的数目或沿路径各边权值之和回路第一个顶点和最后一个顶点相同的路径叫简单路径序列中顶点不重复出现的路径叫简单回路除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路叫连通无向图中,从顶点V到顶点W有一条路径,则说V和W是连通的连通图无向图中,图中任意两个顶点都是连通的叫连通分量无向图中,非连通图的每一个连通部分叫强连通图有向图中,如果对每一对Vi,VjV,ViVj,从Vi到Vj 和从Vj到 Vi都存在路径,则称G是第3页/共54页例213213有向完全图无向完全图356例
3、245136图与子图例245136G1顶点2入度:1 出度:3顶点4入度:1 出度:0例157324G26顶点5的度:3顶点2的度:4第4页/共54页例157324G26例245136G1路径:1,2,3,5,6,3路径长度: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第5页/共54页连通图例245136强连通图356例非连通图连通分量例245136第6页/共54页7.2 图的存储结构多重链表例G12413例15324G2
4、V1V2 V4 V3 V1 V2 V4 V5 V3按度数最大的顶点设计顶点结构第7页/共54页邻接矩阵表示顶点间相联关系的矩阵定义:设G=(V,E)是有n1个顶点的图,G的邻接矩阵A是具有以下性质的n阶方阵例G12413例15324G2第8页/共54页特点:无向图的邻接矩阵对称,可压缩存储;有n个顶点的无向图需存储空间为n(n+1)/2有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n无向图中顶点Vi的度TD(Vi)是邻接矩阵A中第i行元素之和有向图中,顶点Vi的出度是A中第i行元素之和顶点Vi的入度是A中第i列元素之和网络的邻接矩阵可定义为:第9页/共54页例145237531864
5、2第10页/共54页邻接表实现:为图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点Vi的边(有向图中指以Vi为尾的弧)typedef struct node int adjvex;/邻接点域,存放与Vi邻接的点在表头数组中的位置 struct node *next;/链域,指示下一条边或弧JD;adjvex next表头结点:typedef struct tnode int vexdata;/存放顶点信息 struct node *firstarc;/指示第一个邻接点TD;TD gaM;/ga0不用vexdata firstarc第11页/共54页例G1bdac例aecbdG21
6、234acdbvexdata firstarc 3 2 4 1adjvex next1234acdbvexdata firstarc 4 2 1 2adjvex next5e 4 3 5 1 5 3 2 3第12页/共54页例1423512341342vexdata firstarc 5 5 4 3adjvex next55 1 5 1 1 4 3 2 2第13页/共54页V1V2V4V5V3V7V6V8例12341342vexdata firstarc 2 7 8 3adjvex next55 6 4 1 5 1 2 8 2678678 7 3 6 3 5 4第14页/共54页V1V2V4V
7、5V3V7V6V8例12341342vexdata firstarc 2 7 8 3adjvex next55 6 4 8 2678678 7第15页/共54页特点无向图中顶点Vi的度为第i个单链表中的结点数有向图中顶点Vi的出度为第i个单链表中的结点个数顶点Vi的入度为整个单链表中邻接点域值是i的结点个数逆邻接表:有向图中对每个结点建立以Vi为头的弧的单链表例G1bdac1234acdbvexdata firstarc 4 1 1 3adjvex next第16页/共54页无向图的邻接多重表表示法顶点结点:typedef struct dnode int data;/存与顶点有关的信息 st
8、ruct node *firstedge;/指向第一条依附于该顶点的边DD;DD gaM;/ga0不用data firstedge边结点:typedef struct node int mark;/标志域 int ivex,jvex;/该边依附的两个顶点在表头数组中位置 struct node *ilink,*jlink;/分别指向依附于ivex和jvex的下一条边JD;mark ivex ilink jvex jlink第17页/共54页例aecbd1234acdb5e 1 2 1 4 3 4 3 2 3 5 5 2mark ivex ilink jvex jlink第18页/共54页7.3
9、 图的遍历深度优先遍历(DFS)方法:从图的某一顶点V0出发,访问此顶点;然后依次从V0的未被访问的邻接点出发,深度优先遍历图,直至图中所有和V0相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未被访问的顶点作起点,重复上述过程,直至图中所有顶点都被访问为止V1V2V4V5V3V7V6V8例深度遍历:V1 V2 V4 V8 V5 V3 V6 V7第19页/共54页V1V2V4V5V3V7V6V8例例V1V2V4V5V3V7V6V8深度遍历:V1 V2 V4 V8 V5 V6 V3 V7深度遍历:V1 V2 V4 V8 V5 V6 V3 V7第20页/共54页V1V2V4V5V3
10、V7V6V8例深度遍历:V1 V2 V4 V8 V3 V6 V7 V5第21页/共54页V1V2V4V5V3V7V6V8例深度遍历:V1V3 V7 V6 V2 V5 V8 V4第22页/共54页V1V2V4V5V3V7V6V8例深度遍历:V1V3 V7 V6 V2 V4 V8 V5第23页/共54页广度优先遍历(BFS)方法:从图的某一顶点V0出发,访问此顶点后,依次访问V0的各个未曾访问过的邻接点;然后分别从这些邻接点出发,广度优先遍历图,直至图中所有已被访问的顶点的邻接点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未被访问的顶点作起点,重复上述过程,直至图中所有顶点都被访问为止V
11、1V2V4V5V3V7V6V8例广度遍历:V1 V2 V3 V4 V5 V6 V7 V8第24页/共54页V1V2V4V5V3V7V6V8例例V1V2V4V5V3V7V6V8广度遍历:V1 V2 V3 V4 V5 V6 V7 V8广度遍历:V1 V2 V3 V4 V5 V6 V7 V8第25页/共54页V1V2V4V5V3V7V6V8例广度遍历:V1 V2 V3 V4 V6 V7 V8 V5第26页/共54页7.4 生成树生成树定义:所有顶点均由边连接在一起,但不存在回路的图叫深度优先生成树与广度优先生成树说明一个图可以有许多棵不同的生成树所有生成树具有以下共同特点:生成树的顶点个数与图的顶点
12、个数相同生成树是图的极小连通子图一个有n个顶点的连通图的生成树有n-1条边生成树中任意两个顶点间的路径是唯一的在生成树中再加一条边必然形成回路含n个顶点n-1条边的图不一定是生成树GHKI第27页/共54页V1V2V4V5V3V7V6V8例深度遍历:V1 V2 V4 V8 V5 V3 V6 V7V1V2V4V5V3V7V6V8深度优先生成树V1V2V4V5V3V7V6V8广度优先生成树V1V2V4V5V3V7V6V8V1V2V4V5V3V7V6V8广度遍历:V1 V2 V3 V4 V5 V6 V7 V8第28页/共54页例ABLMCFDEGHKIJABLMCFJDEGHKI深度优先生成森林第2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 培训
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内