图论初步.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图论初步

Houfeng Wang, ICL of PKU 图论初步 线性表:一对一;(一个节点对一个节点) 图相关的实际例子 例1 交通图(公路、铁路) 顶点:地点 边:连接地点的公路 交通图中的有单行道双行道,分别用无向边、有向边表示; 基本概念 假定没有节点指向自身的边。 有n(n-1)条边的有向图称为有向完全图,有n(n-1)/2条边的无向图称为无向完全图。 完全图的含义:任意两个不同的节点之间都有边(有向图有互指的弧) 几个问题 线性表是一种特殊的树(假定树可以空)吗? 树是一种特殊的图吗? 假定树的最大度数为m ,如果将其看成一个图,顶点的最大度数是多少? 连通图(强连通图) 在无(有)向图G=( V, E )中,若对任何两个不同顶点v、u都存在从v到u的路径,则称G是连通图(强连通图) 问题: 具有 n 个顶点的连通图,最少应有多少条边?最多呢? 子图: subgraph 设有两个图G=(V,E)、G1=(V1,E1),若V1? V,E1 ? E,E1关联的顶点都在V1中,则称 G1是G的子图; 例:图2、图3 都是 图1 的子图 连通分量Connected Component 无向图G的极大连通子图称为G的连通分量 极大连通子图意思是:是G子图,且连通,将G的任何不在该子图中的顶点(或边,或两者)加入,子图不再连通; 问题 一个连通图有多少个连通分量?Why 强连通分量 有向图D的极大强连通子图称为D的强连通分量 极大强连通子图意思是:该子图是D强连通子图,将D的任何不在该子图中的顶点加入,子图不再是强连通的; 图的存储表示 回忆线性表,树型结构的表示,必须刻画: 节点信息 节点之间的关系(一对一,一对多,多对多) 如何表示图的节点和节点之间的关系? 特点 无向图的邻接矩阵一定是一对称矩阵,同一条边表示了两次。 邻接矩阵表示图,很容易确定图中任意两个顶点之间是否有边相连。 容易计算度。 顶点不变,在图中增加、删除边:只需对矩阵对应分量赋1或清0。 网的邻接矩阵表示 如果G是带权的图,wij是边(vi,vj)或 vi,vj的权,则其关系矩阵定义为∶ 邻接矩阵的表示 #define MAXVEX 常数1 typedef char VexType; typedef float AdjType; typedef struct { VexType vexs[MAXVEX]; // 顶点信息 AdjType arcs[MAXVEX][MAXVEX]; // 边信息 int n; // 图的顶点个数 }GraphMatrix; 无向图的邻接表的特点 1)在G邻接表中,同一条边对应两个结点; 2)顶点v的度:等于v对应线性链表的长度; 3)判定两顶点v ,u是否邻接:要看v对应线性链表中有无对应的结点 4)在G中增减边:要在两个单链表插入、删除结点; 5)设存储顶点的一维数组大小为m(m?图的顶点数n), 图的边数为e,G占用存储空间为:m+2*e。G占用存储空间与G的顶点数、边数均有关;适用于边稀疏的图; 图的周游 从图中某个顶点出发,按照某种方式访问图中的所有顶点,使每个顶点仅被访问一次。图的周游也称图的遍历。 周游方法(二种): 深度优先:类似于二叉树的深度优先。 广度优先:类似于二叉树的广度优先。 深度优先算法 一 深度优先遍历 从图中某顶点v出发: 1)访问顶点v; 2)从v的未被访问的邻接点出发,继续对图进行深度优先遍历; 广度优先算法 从图中某顶点v出发: 1)访问顶点v ; 2)访问v的所有未被访问的邻接点w1 ,w2 , …wk ; 3)依次从这些邻接点出发,访问它们的所有未被访问的邻接点; 依此类推,直到图中所有访问过的顶点的邻接点都被访问; 广度优先方法需要队列 最小生成树 问题:假设要在n个城市之间建立通讯联络网,则连通n个城市只需要修建n-1条线路,如何在最节省经费的前提下建立这个通讯网? 该问题等价于:构造网的一棵最小生成树,即:在e条带权的边中选取n-1条(不构成回路),使“权值之和”为最小。 Spanning Tree Subgraph that includes all vertices of the original graph. Subgraph is a tree. If original graph has n vertices, the spanning tree has n vertices and n-1 edges. 深度优先与广度优先 对于一般图:构造生成树的过程可以按深度优先周游,也可以按广度优先周游,周游中记录访问的所有顶点以及经过的边,得到的是深度优先生成树或

文档评论(0)

ailuojue1 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档