数据结构拓扑排序关键路径精品文稿.ppt





《数据结构拓扑排序关键路径精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据结构拓扑排序关键路径精品文稿.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构拓扑排序关键路径第1页,本讲稿共58页v有向无环图有向无环图:一个无环的有向图,简称一个无环的有向图,简称DAG图。图。P179 图图7.22、7.23DAG图:图:描述含有公共子式的表达式及工程或系统的进行过程时的有效描述含有公共子式的表达式及工程或系统的进行过程时的有效工具。工具。v活动活动:一个较大的工程被划分成许多子工程,这些子工程被称作活动。:一个较大的工程被划分成许多子工程,这些子工程被称作活动。活动之间,存在某种约束,如:某些子工程的开始必须在另外一些子工活动之间,存在某种约束,如:某些子工程的开始必须在另外一些子工程完成之后。程完成之后。v关心问题:关心问题:1.工程能
2、否顺利进行工程能否顺利进行2.估算估算 整个工程完成所必须的最短时间整个工程完成所必须的最短时间第2页,本讲稿共58页v7.5有向无环图及其应用有向无环图及其应用v拓扑排序拓扑排序问题提出:学生选修课程问题问题提出:学生选修课程问题顶点顶点表示课程表示课程有向弧有向弧表示先决条件,若课程表示先决条件,若课程i是是j的先决条件,则图中有弧的先决条件,则图中有弧学生应按怎样的顺序学习这些课程,才能无矛盾、顺利地完成学业学生应按怎样的顺序学习这些课程,才能无矛盾、顺利地完成学业拓扑拓扑排序排序定义定义vAOV网网用顶点表示活动,用弧表示活动间优先关系的有向图称为顶用顶点表示活动,用弧表示活动间优先关
3、系的有向图称为顶点表示活动的网点表示活动的网(Activity On Vertex network),简称,简称AOV网网若若是图中有向边,则是图中有向边,则vi是是vj的的直接前驱直接前驱;vj是是vi的的直接后直接后继继AOV网中不允许有回路,这意味着某项活动以自己为先决条件网中不允许有回路,这意味着某项活动以自己为先决条件第3页,本讲稿共58页v拓扑排序拓扑排序把把AOV网络中各顶点按照它们相互之间网络中各顶点按照它们相互之间的优先关系排列成一个线性序列的过程叫的优先关系排列成一个线性序列的过程叫检测检测AOV网中是否存在环方法:网中是否存在环方法:对有向图构造其顶对有向图构造其顶点的拓
4、扑有序序列,若网中所有顶点都在它的拓扑有序点的拓扑有序序列,若网中所有顶点都在它的拓扑有序序列中,则该序列中,则该AOV网必定不存在环网必定不存在环拓扑排序的方法拓扑排序的方法v在有向图中选一个没有前驱的顶点且输出之在有向图中选一个没有前驱的顶点且输出之v从图中删除该顶点和所有以它为尾的弧从图中删除该顶点和所有以它为尾的弧v重复上述两步,直至全部顶点均已输出;或者当图中不重复上述两步,直至全部顶点均已输出;或者当图中不存在无前驱的顶点为止存在无前驱的顶点为止第4页,本讲稿共58页例例课程代号课程代号 课程名称课程名称 先修棵先修棵C1C2C3C4C5C6C7C8C9C10C11C12无无C1C
5、1,C2C1C3,C4C11C3.C5C3,C6无无C9C9C1,C9,C10程序设计基础程序设计基础离散数学离散数学数据结构数据结构汇编语言汇编语言语言的设计和分析语言的设计和分析计算机原理计算机原理编译原理编译原理操作系统操作系统高等数学高等数学线性代数线性代数普通物理普通物理数值分析数值分析C1C2C3C4C5C6C7C8C9C10C11C12第5页,本讲稿共58页C1C2C3C4C5C6C7C8C9C10C11C12拓扑序列:C1-C2-C3-C4-C5-C7-C9-C10-C11-C6-C12-C8或 :C9-C10-C11-C6-C1-C12-C4-C2-C3-C5-C7-C8一个
6、一个AOV网的拓扑序列不是唯一的网的拓扑序列不是唯一的第6页,本讲稿共58页C1C2C3C4C5C6C7C8C9C10C11C12第7页,本讲稿共58页C2C3C4C5C6C7C8C9C10C11C12拓扑序列:C1(1)C3C4C5C6C7C8C9C10C11C12拓扑序列:C1-C2(2)第8页,本讲稿共58页C4C5C6C7C8C9C10C11C12拓扑序列:C1-C2-C3(3)C5C6C7C8C9C10C11C12拓扑序列:C1-C2-C3-C4(4)第9页,本讲稿共58页C6C8C10C11C12拓扑序列:C1-C2-C3-C4-C5-C7-C9C6C8C11C12拓扑序列:C1-
7、C2-C3-C4-C5-C7-C9 -C10(8)C6C7C8C9C10C11C12拓扑序列:C1-C2-C3-C4-C5(5)C6C8C9C10C11C12拓扑序列:C1-C2-C3-C4-C5-C7(6)第10页,本讲稿共58页C6C8C12拓扑序列:C1-C2-C3-C4-C5-C7-C9 -C10-C11(9)C8C12拓扑序列:C1-C2-C3-C4-C5-C7-C9 -C10-C11-C6(10)C8拓扑序列:C1-C2-C3-C4-C5-C7-C9 -C10-C11-C6-C12(11)拓扑序列:C1-C2-C3-C4-C5-C7-C9 -C10-C11-C6-C12-C8(12
8、)第11页,本讲稿共58页算法实现以邻接表作存储结构设置一个包含n个元素的一维数组indegree,保存AOV网中每个顶点的入度值。把邻接表中所有入度为0的顶点进栈栈非空时,输出栈顶元素Vj并退栈;在邻接表中查找Vj的直接后继Vk,把Vk的入度减1,即indegreek-1;若Vk的入度为0则进栈重复上述操作直至栈空为止。若栈空时输出的顶点个数不是n,则有向图有环;否则,拓扑排序完毕第12页,本讲稿共58页32104算法描述例1234560122indegree firstarc 5 5 4 3 adjvex nextarc3 2 5 2 40123456top16toptop第13页,本讲稿
9、共58页0122indegree first 5 5 4 3 adjvex next3 2 5 2 40123456输出序列:63210416toptop第14页,本讲稿共58页0122indegree first 5 5 4 3 adjvex next3 2 5 2 40123456输出序列:6321041topp第15页,本讲稿共58页0122indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6321041topp第16页,本讲稿共58页0122indegree first 5 5 4 3 adjvex next2 2 5 2 4
10、0123456输出序列:6321041topp第17页,本讲稿共58页0112indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6321041topp第18页,本讲稿共58页0112indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6321041topp=NULL第19页,本讲稿共58页0112indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6 1321041toptop第20页,本讲稿共58页0112indegr
11、ee first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6 132104topp第21页,本讲稿共58页0102indegree First 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6 132104topp4第22页,本讲稿共58页0102indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6 132104p4top第23页,本讲稿共58页0102indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:
12、6 132104p4top第24页,本讲稿共58页0002indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6 132104p4top3第25页,本讲稿共58页0002indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6 132104p4top3第26页,本讲稿共58页0002indegree first 5 5 4 3 adjvex next2 2 5 2 40123456输出序列:6 132104p4top3第27页,本讲稿共58页0001indegree first 5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 拓扑 排序 关键 路径 精品 文稿

限制150内