第十四和十五课 第七章 图.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十四和十五课 第七章 图

唐山师范学院数学与信息科学系 数据结构 第七章 图 7.1 图的定义和术语 7.2 图的存储结构 7.3 图的遍历 7.4 图的连通性问题 7.5 有向无环图及其应用 7.6 最短路径 7.1 图的定义和术语 顶点:图中的数据元素通常称作顶点 弧v,w属于VR,称作弧,弧尾,弧头 有向图 子图 邻接点:对于无向图G={V,{E}},如果边(v,v’)∈E,则称v和v’互为邻接点。 顶点的度:顶点的出度和入度之和 入度和出度:以顶点v为头的弧的数目称作v的入度 以顶点v为尾的弧的数目称作v的出度 路径:无向图G={V,{E}}中,从顶点v到顶点V’的路径是一个顶点的序列{vi0=v,vi1,……,vim=v’}其中(vij-1, vij ) ∈E,1≤j≤m; 路径长度:路径上边或弧的个数。 回路或环:第一个顶点和最后一个顶点相同的路径称作回路 简单路径:序列中顶点不重复出现的路径称为简单路径 连通图:在无向图G中,如果从顶点v到顶点v’有路径,则称v和v’是连通的,对于图中任何两个顶点vi,vj∈V,vi,vj都是连通的,则称G是连通图。 连通分量:是无向图中的极大连通子图。 强连通图:在有向图中,如果对于每一对vi,vj∈V,从vi到vj和从vj到vi都存在路径,则称G是强连通图 强连通分量:有向图中极大强连通子图称作强连通分量 生成树:一个连通图的生成树是一个极小的连通子图,它包含图中的全部顶点,但只有足以构成一棵树的n-1条边。 有向树:如果一个有向图恰有一个顶点的入度为0,其余顶点的入度均为1,则是一棵有向树。 生成森林:一个有向图的生成森林由若干棵有向树组成,含有图中全部顶点,但只有足以构成若干棵不相交的有向树的弧 图的ADT定义 ADT Graph{ 数据对象V: V是具有相同特性的数据元素的集合,称为顶点集。 数据关系R: (1) CreateGraph(G,V,VR); (2) DestroyGraph(G); (3) LocateVex(G,u); (4) GetVex(G,v); (5) PutVex(G,v,value); (6) FirstAdjVex(G,v); (7) NextAdjVex(G,v,w); (8) InsertVex(G,v); (9) DeleteVex(G,v); (10) InsertArc(G,v,w); (11) DeleteArc(G,v,w); (12) DFSTraverse(G,v,Visit()); (13) BFSTraverse(G,v,Visit()); } ADT Graph 7.2 图的存储结构 图没有顺序存储结构 数组表示法 链式存储结构中设计结点结构和表结构十分重要 邻接表 邻接多重表 十字链表 7.2.1 数组表示法 #define INFINIT INT_MAX //最大值 #define MAX_VERTEX_NUM 20 //最大顶点个数 typedef enum{DG,DN,AG,AN} GraphKind; //{有向图,有向网,无向图,无向网} typedef struct ArcCell{ VRType adj; // InfoType *info; }ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct{ VertexType vexs[MAX_VERTEX_NUM]; //顶点向量 AdjMatrix arcs; //邻接矩阵 int vexnum,arcnum; //图的当前顶点数和弧数 GraphKind kind; //图的种类标志 }MGraph; 图的构造算法 Status CreateGraph(MGraph G){ //采用数组(邻接矩阵)表示法,构造图G scanf(G,kind); switch(G,kind){ case DG: return CreateDG(G); case DN: return CreateDN(G); case UDG: return CreateUDG(G); case UDN: return CreateUDN(G); default: return ERROR; } }//CreateGra

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档