- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
设G=(V,E)是一个具有n个顶点的有向图,V中顶点序列v1,v2,…,vn称为一个拓扑序列,当且仅当该顶点序列满足下列条件:若i,j是图中的边(或从顶点i?j有一条路径):1、什么是拓扑排序在一个有向图中找一个拓扑序列的过程称为拓扑排序。8.6拓扑排序则在拓扑序列中顶点i必须排在顶点j之前。ijij1/11
课程代号课程名称先修课程C1高等数学无C2程序设计无C3离散数学C1C4数据结构C2,C3C5编译原理C2,C4C6操作系统C4,C7C7计算机组成原理C2例如,计算机专业的学生必须完成一系列规定的基础课和专业课才能毕业,假设这些课程的名称与相应代号有如下关系:2/11
课程之间的先后关系可用有向图表示:C1C3C4C2C7C6C5可以这样排课:3/11C1-C3-C2-C4-C7-C6-C5C2-C7-C1-C3-C4-C5-C6第1学期第2学期
(1)从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它。(2)从图中删去该顶点,并且删去从该顶点发出的全部有向边。(3)重复上述两步,直到剩余的图中不再存在没有前驱的顶点为止。2、拓扑排序步骤4/11
C1C3C4C2C7C6C5拓扑排序演示产生一个拓扑序列:C1C3C2C7C4C6C5排序完成5/11
typedefstruct //表头结点类型{Vertexdata; //顶点信息intcount; //存放顶点入度ArcNode*firstarc; //指向第一条边}VNode;3、拓扑排序算法设计将邻接表定义中的VNode类型修改如下:用于找入度为0的顶点6/11
voidTopSort(AdjGraph*G) //拓扑排序算法{inti,j;intSt[MAXV],top=-1; //栈St的指针为topArcNode*p;for(i=0;iG-n;i++) //入度置初值0 G-adjlist[i].count=0;for(i=0;iG-n;i++) //求所有顶点的入度{ p=G-adjlist[i].firstarc; while(p!=NULL) {G-adjlist[p-adjvex].count++; p=p-nextarc; }}拓扑排序算法如下:修改后的含n个顶点的邻接表7/11
8/11for(i=0;iG-n;i++) //将入度为0的顶点进栈 if(G-adjlist[i].count==0) { top++; St[top]=i; }while(top-1) //栈不空循环{ i=St[top];top--; //出栈一个顶点i printf(%d,i); //输出该顶点 p=G-adjlist[i].firstarc; //找第一个邻接点 while(p!=NULL) //将顶点i的出边邻接点的入度减1 {j=p-adjvex; G-adjlist[j].count--; if(G-adjlist[j].count==0) //将入度为0的邻接点进栈 {top++; St[top]=j; } p=p-nextarc; //找下一个邻接点 }}}
【例(补充)】对如图所示的图进行拓扑排序,可以得到不同的拓扑序列个数是。A.4 B.3 C.2 D.1eabcd解:不同的拓扑序列有:aebcd、abced、abecd。答案为B。注:2010年全国考研题9/11
思考题:?一个有向图中存在回路,能否进行拓扑排序??一个有向图能够产生所有顶点的拓扑序列,该图一定是有向无环图吗?10/11
━━本讲完━━11/11
您可能关注的文档
- 企业展馆峰策划设计方案.pdf
- 需求供给学习目标金融建模chap025.pdf
- 需求供给学习目标金融建模chap025.pptx
- 企业展馆峰策划设计方案.pptx
- 辅助参考工具易车伙伴排名规则.pptx
- 文案simatic hmi wincc v用户管理.pdf
- 3969-rev module fabrication work inspection and test planfor mecha201 pjoe机械模块制造工作检查测试计划.pdf
- 初学教版教版八单元海水.pptx
- 六级下数学课件单元课时-正比例图像苏教版.pptx
- xieguofu测试者发布期b-ddr3 signal integrity信号性报告.pdf
文档评论(0)