数据结构第七章[图].ppt

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

;★ 基本术语;★基本术语;(b). 这条边依附于顶点vi 和vj。;v1; 无向图:; 1.顶点的度; 边的数目达到最大的图称为完全图. 边的数目达到或接近最大的图称为稠密图,否则,称为稀疏图.; 2. 路径; 3.子图 ; 4.图的连通; 5.生成树;对于一个图,需要存储的信息应该包括:;一.邻接矩阵存储方法;0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0;(1).无向图的邻接矩阵一定是一个对称矩阵.;除了邻接矩阵中的n*n个元素存储顶点间的邻接关系 外往往还需要另设一个向量存储n个顶点的信息。 类型定义如下: #define Vnum 图的顶点数 enum adj{0,1}; typedef adj adjmatrix[vnum][vnum];;无向网邻接矩阵的建立算法如下: 思想:首先将矩阵A的每个元素都初始化为∞ 然后,读入 边及权值(i,j,Wij),将A的相应元素置成Wij 。;二.邻接表存储方法;1;0;#define VERNUM 图的顶点数 typedef struct Node { int adjvex; // 该弧所指向的顶点的位置 struct Node *next; // 指向下一条弧的指针 }EdgeNode; typedef struct Vnode { //顶点结点的结构 VertexType vertex; //顶点信息 EdgeNode *link; //指向第一条依附该顶点的弧 } AdjList[VERNUM];;思想:(1)将邻接表表头数组初始化,第i个表头的vertex为i,link为nil。 (2)读入顶点对i,j,产生一个表结点,将j放入到adjvex域,将该结点链到表头的link域上。; void build-adjlist(AdjList ga) { scanf(“%d,%d”,n,e); //读入顶点数,边数e for (i=0; in ;i++) //初始化邻接表 { ga[i].Vertex=i; ga[i].link=Null; } for( j=0;je;j++) {scanf(“%d,%d”,i,j); //读入顶点对i,j p=new struct EdgeNode; p-adjvex=j; p-next=ga[i].link; ga[i].link=p;} };邻接多重表 (Adjacency Multilist);顶点结点的结构 存储顶点信息的结点表以顺序表方式组织, 每一个顶点结点有两个数据域: data 存放与该顶点相关的信息, Firstout 是指示第一条依附该顶点的边的指针。 在邻接多重表中,所有依附于同一个顶点的边都链接在同一个单链表中。 ;从顶点i出发, 可以循链找到所有依附于该顶点的边,也可以找到它的所有邻接顶点。 ;有向图的情形 在用邻接表表示有向图时,有时需要同时使用邻接表和逆邻接表。用有向图的邻接多重表(十字链表)可把这两个表结合起来表示。 边结点的结构;顶点结点的结构 每个顶点有一个结点,它相当于出边表和入边表的表头结点:其中, 数据域data存放与该顶点相关的信息, Firstin指示以该顶点为头 (箭头端)的第一条边。 Firstout指示以该顶点为尾(出边端)的第一条边.;邻接多重表的结构; 从图中某个指定的顶点出发, 按照某一原则对图中 所有顶点都访问一次, 得到一个由图中所有顶点组成的 序列, 这一过程称为图的遍历.; 为了标记某一时刻图中哪些顶点是否被访问,定 义一维数组visited[1:n], 有 1 表示第i个顶点已经被访问 visited[i] = 0 表示第i个顶点还未被访问;例如:用深度优先有哪些信誉好的足球投注网站法遍历下图。;现将深度优先有哪些信誉好的足球投注网站的递归算法描述如下:; 分析上述过程,在遍历图时,对图中每个顶点至多调用一次dfs过程,因为一旦某个顶点被标志成已被访问,就不再从它出发进行有哪些信誉好的足球投注网站。因此,遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所采用的存储结构,当用二维数组表示邻接矩阵作图的存储结构时,查找每个顶点的邻接点所需时间为O(n2 ),其中n

文档评论(0)

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

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

1亿VIP精品文档

相关文档