搜索
首页 教育/科学 理工学科 数学

应用拓扑排序算法求得的是什么序列

应用拓扑排序算法求得的是什么序列

全部回答

2018-12-30

0 0
    3。1AOV网 在现代化管理中,人们常用有向图来描述和分析一项工程的计划和实施过程,一个工程常被分为多个小的子工程,这些子工程被称为活动(Activity),在有向图中若以顶点表示活动,有向边表示活动之间的先后关系,这样的图简称为AOV网。
  如下图是计算机专业课程之间的先后关系:基础知识课程应先于其它所有课程,pascal语言课程应先于数据结构。  3。2 拓扑排序 在AOV网中为了更好地完成工程,必须满足活动之间先后关系,需要将各活动排一个先后次序即为拓扑排序。
  如上图的拓扑排序基础知识;Pascal;数据结构;离散数学。或基础知识;离散数学Pascal;数据结构。拓扑排序的方法和步骤:(1)在图中选一个没有前趋的顶点并输出之(2)删除该顶点及由它发出的各边,直到图中不存在没有前趋的顶点为止。
    若图中存在回路,拓扑排序无法进行。以下是将一AOV网进行拓扑排序的算法:网采用邻接矩阵A表示,若a[i,j]=1,表示活动i先于j,a[i,j]=0,表示活动i与j不存在先后关系。
  (1)计算各顶点的入度 (2)找入度为零的点输出之,删除该点,且与该点关联各点的入度减1 (3)若所有顶点都输出完毕。  程序如下:program tppv;const maxn=100;varmap:array[1。
  。maxn,1。。maxn] of byte;into:array[1。。maxn] of byte;n,i,j,k:byte;procedure init;vari,j:integer;beginread(n);for i:=1 to n dofor j:=1 to n dobeginread(map[i,j]);inc(into[j]);end;end;begininit;for i:=1 to n dobeginj:=1;while (j0) do inc(j);write(j,' ');into[j]:=255;for k:=1 to n doif map[j,k]=1 then dec(into[k]);end;end。
    3。3应用举例与练习 例:士兵排队问题:有N个士兵(10) do inc(j);write(j,' ');into[j]:=255;for k:=1 to n doif map[j,k]=1 then dec(into[k]);end;end。
  练习:Z语言问题:Z语言的基本字母也是26个,不妨用a到z表示,但先后顺序与英语不同。  现在按Z语言的顺序给出了N个单词,请依照这些单词给出一个可能的Z语言字母顺序。输入文件:第一行一个数N(N第二行到第N 1行,每行一个单词。
  输出文件:仅一行,可能的字母顺序。(图不好粘贴) 如果还没解决你的问题,可以加我百度HI账号。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

教育/科学
数学
院校信息
升学入学
理工学科
出国/留学
职业教育
人文学科
外语学习
学习帮助
K12
理工学科
数学
农业科学
生物学
建筑学
心理学
天文学
工程技术科学
化学
环境学
地球科学
生态学
物理学
数学
数学
举报
举报原因(必选):
取消确定举报