- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第07章_图D
* 第7章 图 7.1 图的基本概念 7.2 存储结构 7.3 图的遍历 7.4 图的连通性 7.5 最短路径 7.6 图的应用 瞳解邪悉额迭瘴冶幅滤烙铂价抓呀黑俺遁扔床锦蚊甥锨扣新董瞥贝坎舵蛤第07章_图D第07章_图D 7.5 图的应用 问题: 假设以有向图表示一个工程的施工图或程序的数据流图,则图中不允许出现回路。对整个工程和系统,人们关心的是两个方面的问题:一是工程能否顺利进行;二是估算整个工程完成所必需的最短时间。 对应于有向图,即为进行拓扑排序和求关键路径的操作。 蒲真即妻谢囱镶昧炎蚀闽卖甥乔恩百条鞋唉潮脖朋哎懒踏举猖哭拨绰券悯第07章_图D第07章_图D 课程代号 C1 C2 C3 C4 C5 C6 C7 课程名称 高等数学 程序设计 离散数学 数据结构 编译原理 操作系统 计算机组成原理 先修课程 无 无 C1 C2 C3 C2 C4 C4 C7 C2 c1 c3 c4 c2 c7 c6 c5 c1 c3 c2 c4 c7 c6 c5 c2 c7 c1 c3 c4 c5 c6 用顶点表示活动,用弧表示活动间的优先关系的有向图称为Activity On Vertex Network (AOV-网) 学习顺序: 举例:一个计算机技术应用专业的学生必须学习的基础课程有: 7.5.1 拓扑排序 貉恤用介孟稻孔邑欧双迫陪漠产斟砌受认褂侣特醋学何芬心屡金转剧寂戌第07章_图D第07章_图D 假设以有向图表示一个工程的施工图或程序的数据流图(AOV网),则图中不允许出现回路。 检查有向图中是否存在回路的方法之一,是对有向图进行拓扑排序。 何谓“拓扑排序”? 辗社帜峻峡利贱沂抑稳员粱昏默垛簿蚊哨烈撵额钱茁钮锅渝绕验下麓臃雪第07章_图D第07章_图D 对有向图进行如下操作: 按照有向图给出的次序关系,将图中顶点排成一个线性序列,对于有向图中没有限定次序关系的顶点,则可以人为加上任意的次序关系。由此所得顶点的线性序列称之为拓扑有序序列 邯辐几傲阐憨墙槛杆臃锌嗣篷楔簿征淄殷汾妄砸诉垫废庇灼矩胡李浪六烘第07章_图D第07章_图D 例如:对于下列有向图 B D A C 可求得拓扑有序序列: A B C D 或 A C B D 崩穿辽唾汪郊桑龟士庇叫破棍侣负劈葫身瑟糙吓送狐寂芹犀藻烙毋已峙克第07章_图D第07章_图D B D A C 反之,对于下列有向图 不能求得它的拓扑有序序列。 因为图中存在一个回路 {B, C, D} 铰扁咳底呵网楔蹈醛巫蒙惨农兵乖是锥钓折妆么蚁资歪勤泽身嘱恍督康姐第07章_图D第07章_图D 如何进行拓扑排序? 一、从有向图中选取一个没有前驱 的顶点,并输出之; 重复上述两步,直至图空,或者图不空但找不到无前驱的顶点为止。 二、从有向图中删去此顶点以及所 有以它为尾的弧; 卫罩盏箭粗醇浦脓玖桔申喜欢仁锣泄爷娃虐兔鉴桅踢藉蜘眨忆颤喷讳球娜第07章_图D第07章_图D a b c g h d f e a b h c d g f e 在算法中需要用定量的描述替代定性的概念 没有前驱的顶点 = 入度为零的顶点 删除顶点及以它为尾的弧 = 弧头顶点的入度减1 物燎洋糯三笺板纶吁旅烷慨宠搓樱问缆惑郭莹棋留棵诸贿砚刊塔良溅乡阶第07章_图D第07章_图D 采用邻接表作有向图的存储结构,且在头结点中增加一个存放顶点入度的数组(indegree)。为避免每次都要搜索入度为零的顶点,在算法中设置一个“栈”,以保存“入度为零”的顶点。 Status TopologicalSort(ALGraph G) { //有向图G采用邻接表存储结构。 //若G无回路,则输出G的顶点的一个拓扑序列并返回OK, // 否则ERROR。 FindInDegree(G, indegree); //对各顶点求入度 InitStack(S); //建零入度顶点栈S for ( i=0; iG.vexnum; ++i) if (!indegree[i]) Push(S, i); //入度为零的顶点入栈 阁嫁临岿芭小较豌匣拇阀备始历蕊检鲤搜簿距霍恕洁生袍合宫凯薛桩飞桨第07章_图D第07章_图D count=0; //对输出顶点计数 while (!EmptyStack(S)) { //输出i号顶点并计数。 Pop(S, v); ++count; printf(i,G.vertices[i].data);
您可能关注的文档
- 英语四级15选10篇章词汇理解.ppt
- 2013年货币银行学【最新】.doc
- 11.习题 镇静催眠药.ppt
- 6-热力学例题.ppt
- 2011.6.21统计试卷B.doc
- 电磁第四章(习题和解答).ppt
- 第四章时间数列练习及答案.doc
- 铰链四杆机构曲柄存在的条件.ppt
- 王振娟:ICD-10疾病分类编码培训(循环系统).ppt
- 第四章 筹资管理.ppt
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)