第8章 图答辩.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;本章主要内容;一、图的定义和相关概念;A; ; ; 7) 无向完全图: 在一个无向图中,如果任意两顶点都有一条直接边相连接,则称该图为无向完全图(Undereted Complete Graph)。有n个顶点的无向完全图中,有n(n-1)/2条边。 8) 有向完全图:在一个有向图中,如果任意两顶点之间都有方向互为相反的两条弧相连接,则称该图为有向完全图(Directed Complete Graph)。有n个顶点的有向完全图中,有n(n-1)条边 ; 9) 度、入度、出度: 顶点的度(degree)是指依附于某顶点v的边数,通常记D(v)。在有向图中,有顶点的入度与出度的概念。顶点v的入度(Indegree)是指以顶点v为终点的弧的数目,记为ID(v);顶点v出度(Outdegree)是指以顶点v为始点的弧的数目,记为OD(v)。 有:D(v)=ID(v)+OD(v); 10) 边的权、网图:如图的边或弧附带有数值信息,这种数值称为权(Weight);每条边或弧都带权的图称为带权图或网络; 11) 路径:在无向图G=(V,E)中,从顶点vp到顶点vq之间的 路径是一个顶点序列(vp=vi 0,vi1,vi2,…, vim=vq), 其中,(vij-1,vij)∈E(1≤j≤m)。若G 是有向图,则 路径也是有方向的,顶点序列满足vij-1,vij∈E (1≤j≤m)。 12) 路径长度:路径上边的数目。 13) 回路(环):第一个顶点和最后一个顶点相同的路径。 14) 简单路径:序列中顶点不重复出现的路径。 15) 简单回路(简单环):除了第一个顶点和最后一个顶点外, 其余顶点不重复出现的回路。; 16)子图:若图G=(V,E),G=(V,E),如果V?V 且E ? E ,则称图G是G的子图。 ; ;B;18) 强连通图、强连通分量: 强连通图:在有向图中,对图中任意一对顶点vi 和vj (i≠j),若从顶点vi到顶点vj和从顶点vj到顶点vi均有路径。 强连通分量:非强连通图的极大强连通子图称为。 ; ;二、图的存储结构;1.邻接矩阵(Adjacency Matrix) ;矩阵存储特点;邻接矩阵的特点:;邻接矩阵的特点:;算法实现邻接矩阵;算法实现邻接矩阵;建立有向图G的邻接矩阵存储;2.邻接表;例:;定义邻接表数据类型;定义邻接表数据类型;void ALGraph ::CreateALGraph( ) { int i,j,k; EdgeNode * p; cout请输入顶点数和边数endl; cin vertexNum edgeNum; //读入顶点数和边数 for(i=0;ivertexNum;i++)//建立有n个顶点的顶点表 { cout请输入第 i 个顶点信息:endl; cinadjlist[i].vertex; //读入顶点信息 adjlist[i].firstedge=NULL; //顶点的边表头指针设为空 } cout下面输入边表信息:endl; ;for(k=0;kedgeNum;k++) //建立边表 { cout输入边i,j对应的顶点编号i,jendl; cinij; //读入边vi,vj的顶点对应序号 p=new EdgeNode; //生成新边表结点p p-adjvertex=j; //邻接点序号为j p-next=adjlist[i].firstedge; //将新边表结点p插入顶点vi的链表头部 adjlist[i].firstedge=p; } } //CreateALGraph;三、图的遍历 ;1. 深度优先遍历 ;深度遍历实例;深度优先遍历算法实现过程(从V0出发,邻接表存储);void ALGraph::DFStraverse( ) //深度优先搜索遍历以邻接表表示的图G {int v; for(v=0;vvertexNum;v++) visited[v]=False; //标志向量初始化,visited数组已在类中数据成员部分定义 for(v=0;vvertexNum;v++) if(! visited[v])DFS(v); }//DFS;void ALGraph::DFS(int v) //从第v个顶点出发深度优先遍历图G { EdgeNode *

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档