- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七 章 图 第七 章 图 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 §7.1 图的基本概念 7.2 图的存储结构 多重链表 邻接矩阵——表示顶点间相联关系的矩阵 定义:设G=(V,E)是有n?1个顶点的图,G的邻接矩阵A是具有以下性质的n阶方阵 特点: 无向图的邻接矩阵对称,可压缩存储;有n个顶点的无向图需存储空间为n(n+1)/2 有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n2 无向图中顶点Vi的度TD(Vi)是邻接矩阵A中第i行(或第i列)元素之和 有向图中, 顶点Vi的出度是A中第i行元素之和 顶点Vi的入度是A中第i列元素之和 检测图中的总边数。扫描整个数组A,统计出数组中非0元素的个数。无向图的总边数为非0元素个数的一半,而有向图的总弧数为非0元素个数; 图的邻接矩阵存储表示(参见教材P161) 例:用邻接矩阵生成无向网的算法(参见教材P162) 邻接表 (Adjacency List) 图的邻接表存储表示 无向图的邻接表 有向图的邻接表(出边表) 有向图的逆邻接表(入边表) 特点 无向图中顶点Vi的度为第i个单链表中的结点数 有向图中 顶点Vi的出度为第i个单链表中的结点个数 顶点Vi的入度为整个单链表中邻接点域值是i的结点个数 判定两顶点v,u是否邻接:要看v对应线性链表中有无对应的结点u 在G中增减边:要在两个单链表插入、删除结点; 若无向图中有n个顶点、e条边,则它的邻接表需n个头结点和2e个表结点。可见,G占用存储空间与G的顶点数、边数均有关;适用于边稀疏的图。 带权图的邻接表 相反,已知某网的邻接(出边)表,可以画出该网络。 讨论:邻接表与邻接矩阵有什么异同之处? 三、十字链表(自学)(适用于有向图)四、邻接多重表(自学)(适用于无向图) 有向图的十字链表表示法 §7.3 图的遍历 深度优先搜索DFS ( Depth_First Search) 深度优先搜索的示例 深度优先搜索(遍历)步骤: 图的深度优先搜索算法 算法时间复杂度分析 广度优先搜索BFS (Breadth_First Search) 广度优先搜索的示例 广度优先搜索(遍历)步骤: 图的广度优先搜索算法 算法时间复杂度分析 §7.4 图的连通性 最小生成树 (minimum cost spanning tree ) 构造最小生成树的准则 普里姆算法(Prim) 普里姆算法构造最小生成树的过程 算法时间复杂度分析 克鲁斯卡尔算法(Kruskal) 算法时间复杂度分析 §7.5 有向无环图及其应用 拓扑排序 例如,对学生选课工程图进行拓扑排序,得到的拓扑有序序列为 C1 , C2 , C3 , C4 , C5 , C6 , C8 , C9 , C7或 C1 , C8 , C9 , C2 , C5 , C3 , C4 , C7 , C6 进行拓扑排序的方法 1、 在AOV网络中选一个没有直接前驱的顶点,并输出之; 2、 从图中删去该顶点,以及所有以它为尾的弧; 3、重复以上两步, 直到 1)全部顶点均已输出,拓扑有序序列形成,拓扑排序完成; 2)图中还有未输出的顶点,但已跳出处理循环。这说明图中还剩下一些顶点,它们都有直接前驱,再也找不到没有前驱的顶点了。这时AOV网络中必定存在有向环。 拓扑排序过程的示例 拓扑排序的算法实现 (1) 建立入度为零的顶点栈; (2) 当入度为零的顶点栈不空时, 重复执行: 从顶点栈中退出一个顶点, 并输出之; 从AOV网络中删去这个顶点和它发出的边, 边的终顶点入度减一; 如果边的终顶点入度减至0, 则该顶点进入度为零的顶点栈; (3) 如果输出顶点个数少于AOV网络的顶点个数, 则报告网络中存在有向环。 算法实现 以邻接表作存储结构 把邻接表中所有入度为0的顶点进栈 栈非空时,输出栈顶元素Vj并退栈;在邻接表中查找Vj的直接后继Vk,把Vk的入度减1;若Vk的入度为0则进栈 重复上述操作直至栈空为止。若栈空时输出的顶点个数不是n,则有向图有环;否则,拓扑排序完毕 算法描述 算法时间复杂度分析 关键路径 几个与计算关键活动有关的量: 事件Vi 的最早可能开始时间Ve(i) 是从源点V0 到顶点Vi 的最长路径长度。 事件Vi 的最迟允许开始时间Vl[i] 是在保证汇点Vn-1 在Ve[n-1] 时刻完成的前提下,事件
您可能关注的文档
最近下载
- 预防滑倒、绊倒、跌倒.ppt VIP
- 七年级历史上册 第一单元第1课 中国境内早期人类的代表—北京人课件 新人教版.ppt VIP
- 津津有味读经典LEVEL3《海底两万里》正文与评价手册答案.pdf VIP
- 2.1主权统一与政权分层 课件(共27张PPT)高中政治统编版选择性必修一当代国际政治与经济.pptx VIP
- 最新人教版五年级数学上册 全册PPT课件全集(438张).pptx VIP
- 档案整理及数字化服务项目实施方案46页.doc VIP
- 2025年海南省中考语文试题卷(含答案解析).docx
- GB24315-2009 校车标示国家标准.pdf VIP
- 《慢阻肺》ppt课件_原创精品文档.pptx VIP
- 安徽省2025年高考:《政治》考试真题与参考答案.pdf
文档评论(0)