数据结构之图课件PPT.ppt

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

数据结构;第7章 图;难 点 图的遍历、最小生成树、最短路径、拓朴排序算法的理解 关键路径法求关键活动和关键路径的方法 要 求 熟练掌握以下内容: 图的存储结构 图的遍历算法 了解以下内容: 图的最小生成树和求最小生成树算法的基本思想 带权有向图的最短路径问题 利用AOV网络的拓朴排序问题 利用AOE网络的关键路径法;7.1 图的定义和基本术语;图7.1 有向图与无向图;图7.3 子图;顶点的度:图中与每个顶点相连的边数,叫该顶点的度(Degree),记作TD(V)。 入度、出度:对于有向图,顶点的度分为入度和出度,入度是以该顶点为终点的入边数目;出度是以该顶点为起点的出边数目,该顶点的度等于其入度和出度之和。分别记作 ID(V),OD(V)。 ;路径(回路):若从某顶点Vp出发,沿一些边经过顶点V1,V2,…,Vm到达,Vq,则称顶点序列(Vp, V1,V2,…,Vm, Vq)为从Vp到Vq的路径(Path)。 若其中间顶点不重复,则称简单路径;若第1个顶点和最后一个顶点相同,则称为回路。 路径长度:对于无权的图,路径长度指的是沿此路径上边的数目;对于有权图,一般是取沿路径各边的权之和作为此路径的长度。 ;连通、连通图:在无向图中,如果从顶点Vi到顶点Vj之间有路径,则称这两个顶点是连通的。如果图中任意一对顶点都是连通的,则称此图是连通图(Connected graph)。 连通分量:非连通图的每一个极大连通子图叫连通分量(Connected Component)。;图7.4 非连通图G;强连通图和强连通分量:在有向图G中,如果从顶点Vi到顶点Vj和从顶点Vj到顶点Vi之间都有路径,则称这两个顶点是强连通的。如果图中任何一对顶点都是强连通的,则此图叫做强连通图。非强连通图的每一个极大强连通子图叫做强连通分量。 生成树:有n个顶点,n-1条边的树,且 V=V, E?E。 ;图7.5 图G2的强连通分量;7.2 图的存储结构;图7.6 无向图的邻接矩阵;图7.7 有向图的邻接矩阵;可以看出: 无向图的邻接矩阵是对称的, 即若A[i,j]=1,必有A[j,i]=1。所以,只存储其上三角阵元素即可. 2. 对无向图, 结点Vi的度, 是邻接矩阵中,第i行1的个数.;对有向图, 邻接矩阵一般是不对称的,A[i,j]不一定等于A[j,i]。 结点Vi的出度OD(Vi), 是邻接矩阵中,第i行1的个数. 结点Vi的入度ID(Vi), 是邻接矩阵中,第i列1的个数. ; 对于有权图(网) 例:;邻接矩阵用二维数组即可存储,定义如下: int adjmatrix ARRAY[n][n]; ;产生无向图邻接矩阵算法; do { scanf (“%d,%d”,v1,v2); /*输入边*/ adjarray[v1][v2]=1; adjarray[v2][v1]=1; } while(v1!=0 v2!=0); } else num=0; retrun (num); } ;2. 邻接表;有两种结点: 1. 表头结点: 每个链表设一表头结点 ; 2. 边表结点: vertex:存放与顶点Vi相邻接的顶点 nextarc:指向依附于顶点Vi的下一条边所对 应的结点 Info: 有权图(网络)中边的权值 例:无向图,有向图 ;图7.6中无向图对应的邻接表;图7.7中有向图对应的邻接表;对于无向图的邻接表来说,一条边对应两个单链表结点,邻接表结点总数是边数的2倍。 在无向图的邻接表中,各顶点对应的单链表的结点数(不算表头结点)就等于该顶点的度数。 在有向图邻接表中,一条弧对应一个表结点,表结点的数目和弧的数目相同。 在有向图邻接表中,单链表的结点数就等于相应顶点的出度数。 有向图中某顶点的入度数,需扫描邻接表的所有单链表,统计与顶点标号相应的结点个数。 ;邻接表存储结构定义;产生无向图的邻接表算法;产生无向图的邻接表算法(续); ;7.3 图的遍历;图7.9 图的遍历例子;由于图中的路径可能有环路,为了避免重复访问某些顶点,设计图的搜索算法时,可设置一个表示顶点是否被访问过的辅助数组visited,初始时将数组元素置零,一旦某顶点Vi被访问过,则令visited[Vi ]=1,以后此顶点即不再访问。;邻接表表示的图的DFS算法 ;adjlist为邻接表,从v0开始深度

文档评论(0)

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

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

1亿VIP精品文档

相关文档