图及有向图的应用.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图及有向图的应用 第一页,共十三页,2022年,8月28日 4.1 基本定义与术语 基本定义: 图的二元组定义:图G由两个集合V和E组成,记为: G=(V, E) 其中:V是顶点的有穷非空集合,E是V中顶点偶对(称为边)的有穷集 有向图还是无向图,顶点数n、边数e和度数之间有如下关系: 其中:n为图中的顶点数,e为图中的边数,D(Vi)为图中的第i顶点的度数 基本术语: 1. 路径(Path) 在无向图G中,如果存在一个顶点序列vp, vi1, vi2, …, vim, vq,使得(vp, vi1),(vi1, vi2),…,(vim, vq)都属于E(G),则称顶点vp到vq存在一条路径(Path) 2. 简单路径 如果一条路径上除vp和vq外,其余顶点均不相同,则称此路径为一条简单路径(这里vp和vq可以相同也可以不同) 第二页,共十三页,2022年,8月28日 简单回路 起点和终点都相同的简单路径称为简单回路(Cycle)。 有根图和图的根 在一个有向图中,如果存在一个顶点v,从v可以到达图中其他所有顶点,则称此有向图为有根图,其中v称作图的根。 连通图和连通分量 在无向图中,如果从顶点V到顶点V′有路径,则称V和V′是连通的。如果对于图中的任意两个顶点Vi和Vj都是连通的,则称G为连通图 强连通图和强连通分量 在有向图G中,若对于V(G)中任意两个不同的顶点vi和vj,都存在从vi到vj以及从vj到vi的路径,则称G是强连通图。有向图的极大强连通子图称为G的强连通分量。 欧拉图 如果图中存在一条通过图中每条边一次且仅一次的回路,则称此回路为欧拉回路,具有欧拉回路的图称为欧拉图 8. 哈密顿图 若图G中存在一条通过图中所有顶点一次且仅一次的回路,则称此回路为图的哈密顿回路;具有哈密顿回路的图称为哈密顿图 第三页,共十三页,2022年,8月28日 4.2 图的存储结构 4.2.1 图的邻接矩阵表示法 1. 图的邻接矩阵表示法 在图的邻接矩阵表示法中,用一个顺序表来存储顶点信息,用邻接矩阵来表示顶点间的相邻关系。 2. 邻接矩阵(Adacency Matrix) 设G=(V, E)是具有n个顶点的图,则G的邻接矩阵是一个n阶方阵: 4.2.2 邻接表表示法 第四页,共十三页,2022年,8月28日 4.2.2 邻接表表示法 图的邻接表表示法类似于树的孩子链表表示法 邻接表的类型定义如下: #define MaxVerNum 100 //最大顶点数为100 typedef struct node    { //边表结点      int adjvex; //邻接点域      struct node *next; //链域       //若要表示边上的权,则应增加一个数据域    }EdgeNode; typedef struct vnode     { //顶点表结点      VertexType vertex; //顶点域      EdgeNode *firstedge; //边表头指针     }VertexNode; typedef VertexNode AdjList[MaxVertexNum]; //AdjList是邻接表类型 typedef struct    {     AdjList adjlist; //邻接表     int n,e; 图中当前顶点数和边数    }ALGraph; //对于简单的应用,无须定义此类型,可直接使用AdjList类型 第五页,共十三页,2022年,8月28日 4.3 图的遍历 图的遍历基本方法有两种:深度优先搜索和广度优先搜索,这两种方法都适用于有向图和无向

文档评论(0)

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

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

1亿VIP精品文档

相关文档