图结构(精简版).ppt

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

第6章 图结构 图结构知识点 6.1 图的基本概念 6.3 图的存储结构 6.3.1 图的邻接矩阵表示法 6.3.2 图的邻接表表示法 6.4 图的遍历 6.4.1 深度优先搜索 6.4.2 广度优先搜索 6.5 最小生成树 6.5.1 Kruskal算法 6.6 最短路径问题 6.6.1 权值为非负的单源最短路径问题-Dijkstra算法 线性结构、树形结构、图结构 复习 数据的逻辑结构可以表示为数据结点集合K和结点关系集合R:(K, R) K:系统中所有数据结点构成的集合。 R:集合K中数据结点之间关系构成的集合。 R是K×K上的二元关系。 线性结构:唯一前驱、唯一后继,反映一种线性关系。 树形结构:唯一前驱、多个后继,反映一种层次关系。 图结构:不限制前驱的个数,也不限制后继的个数,反映一种网状关系。 6.1 图的基本概念 6.1.1 有向图与无向图 无向图:图中的每条边没有方向。通常用符号(u,v)表示顶点u到顶点v的一条无向边。 有向图:图中的每条边(通常可称为弧)都有方向。通常用符号u,v表示顶点u到顶点v的一条有向边,其中u为这条边的起始顶点(起点),v为这条有向边的终止顶点(终点)。 有向图的基图:忽略有向图所有边的方向,得到的无向图称为该有向图的基图。 说明:如果一个图中某些边具有方向性,而其他边没有方向性,这种图可以称为混合图。 6.1.2 完全图、稀疏图、稠密图 完全图:如果无向图中任何一对顶点之间都有一条边,这种无向图称为完全图。在完全图中,阶数和边数存在关系式:m = n×(n-1)/2。阶为n的完全图用Kn表示。 有向完全图:如果有向图中任何一对顶点u和v,都存在u, v和v, u两条有向边,这种有向图称为有向完全图。在有向完全图中,阶数和边数存在关系式:m = n×(n-1)。 稀疏图:边或弧的数目相对较少(远小于n×(n-1))的图称为稀疏图。有的文献认为,边或弧的数目mnlog(n)的无向图或有向图,称为稀疏图。 稠密图:边或弧的数目相对较多的图(接近于完全图或有向完全图)称为稠密图。 平凡图:只有一个顶点的图,即阶n = 1的图称为平凡图。相反,阶n1的图称为非平凡图。 零图:边的集合E(G)为空的图,称为零图。 6.1.3 顶点与顶点、顶点与边的关系 在无向图和有向图中,顶点和顶点之间的关系,以及顶点和边的关系是通过“邻接”这个概念来表示的。 6.1.4 顶点的度数 有关顶点度数的几个概念 偶点与奇点:为方便起见,把度数为偶数的顶点称为偶点,把度数为奇数的顶点称为奇点。 定理:每个图都有偶数个奇点。 孤立顶点:度数为0的顶点,称为孤立顶点。孤立顶点不与其他任何顶点邻接。 叶:度数为1的顶点,称为叶顶点,也称叶顶点、或端点。其他顶点称为非叶顶点。 图G的最小度:图G所有顶点的最小的度数,记为δ(G)。 图G的最大度:图G所有顶点的最大的度数,记为Δ(G)。 6.1.5 子图与生成树 6.1.6 路径 路径是图论中一个很重要的概念。 6.1.7 连通性 6.1.8 权值、有向网与无向网 权值:某些图的边具有与它相关的数,称为权值。这些权值可以表示从一个顶点到另一个顶点的距离、花费的代价、所需的时间等。如果一个图,其所有边都具有权值,则称为网络。 根据网络中的边是否具有方向性,又可以分为有向网和无向网。网络可以用G(V, E)表示,其中边的集合E中每个元素包含3个分量:边的两个顶点和权值。 6.3 图的存储结构 常用的存储表示方法有: 邻接矩阵√√ 邻接表√ 邻接多重表 6.3.1 图的邻接矩阵表示法 在邻接矩阵中,除了一个记录各个顶点信息的顶点数组外,还有一个表示各顶点之间关系的矩阵,称为邻接矩阵。 问题:从图的邻接矩阵可以获得什么信息? 2. 有向网(无向网)的邻接矩阵 邻接矩阵的局限性 尽管绝大多数图论的题目可以采用邻接矩阵存储图,但由于邻接矩阵无法表达环和重边的情形,所以有时不得不采用邻接表去存储图,详见欧拉回路的课件。 另外,当图的边数(相对顶点个数)较少时,使用邻接矩阵存储会浪费较多的存储空间,而用邻接表存储可以节省存储空间。 6.3.2 图的邻接表表示法 邻接表:把同一个顶点发出的边链接在同一个称为边链表的单链表中。(这种邻接表也称为出边表) 单链表的每个结点代表一条边,称为边结点,每个边结点有2个域。 逆邻接表:也称为入边表,顶点i的边链表中链接的是所有进入该顶点的边。适合求顶点的入度。 无向图的邻接表 每条边在邻接表里出现2次。 邻接表的实现 采用邻接表存储图时构造有向图的方法 释放各顶点边链表中的边结点 6.3.3 关于邻接矩阵和邻接表的进一步讨论 6.4 图的遍历 图的遍历(Graph Traversal)的含义:从已给图中的某一顶点出发,沿着一些边访遍图中所有的顶点,且使

文档评论(0)

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

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

1亿VIP精品文档

相关文档