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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 00:19:50

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

应用拓扑排序算法求得的是什么序列
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;
var
map:array[1..maxn,1..maxn] of byte;
into:array[1..maxn] of byte;
n,i,j,k:byte;
procedure init;
var
i,j:integer;
begin
read(n);
for i:=1 to n do
for j:=1 to n do
begin
read(map[i,j]);
inc(into[j]);
end;
end;
begin
init;
for i:=1 to n do
begin
j:=1;
while (j<=n)and(into[j]<>0) do inc(j);
write(j,' ');
into[j]:=255;
for k:=1 to n do
if map[j,k]=1 then dec(into[k]);
end;
end.
3.3应用举例与练习
例:士兵排队问题:
有N个士兵(1<=N<=100),编号依次为1,2,...,N.队列训练时,指挥官要把士兵从高到矮排成一行,但指挥官只知道“1 比2 高,7 比 5高”这样的比较结果.
输入文件:第一行为数N(N〈=100);表示士兵的个数.以下若干行每行两个数A,B 表示A高于B.
输出文件:给出一个合法的排队序列.
程序如下:
program tppv;
const maxn=100;
var
map:array[1..maxn,1..maxn] of byte;
into:array[1..maxn] of byte;
n,i,j,k:byte;
fp:text;
procedure init;
var
i,j:integer;
begin
assign(fp,'tp.txt');
reset(fp);
readln(fp,n);
fillchar(map,sizeof(map),0);
fillchar(into,sizeof(into),0);
while not(seekeof(fp)) do
begin
readln(fp,i,j);
map[i,j]=1 ;
inc(into[j]);
end;
close(fp);
end;
begin
init;
for i:=1 to n do
begin
j:=1;
while (j<=n)and(into[j]<>0) do inc(j);
write(j,' ');
into[j]:=255;
for k:=1 to n do
if map[j,k]=1 then dec(into[k]);
end;
end.
练习:
Z语言问题:Z语言的基本字母也是26个,不妨用a到z表示,但先后顺序与英语不同.
现在按Z语言的顺序给出了N个单词,请依照这些单词给出一个可能的Z语言字母顺序.
输入文件:第一行一个数N(N<=100)表示单词的个数.
第二行到第N+1行,每行一个单词.
输出文件:仅一行,可能的字母顺序.
(图不好粘贴)
如果还没解决你的问题,可以加我百度HI账号.

应用拓扑排序算法求得的是什么序列 列出全部可能的拓扑排序序列 【数据结构】请写出以下AOV网的拓扑排序序列 数据库大神来啊、给出下列AOV网的可能的拓扑排序序列.拓扑排序序列是否唯一?在什么情况下拓扑排序无法完成. 数据结构题,叙述对有环无向图求拓扑排序序列的步骤 (2)写出下图的4个不同的拓扑排序序列麻烦解答,谢谢 数据结构题,叙述对有环无向图求拓扑排序序列的步骤 (2)写出下图的4个不同的拓扑排序序列麻烦解答, 一个有向无环图的拓扑排序序列是唯一的么? 模式挖掘中的序列模式挖掘基于Web应用的最新的apriori算法是什么 数据结构拓扑排序某图的表示意如下,按拓扑排序算法,写出电脑输出的拓扑排序结果0:->5->2->1^1:->4->3->2^2:->3^3:->4^4:^5:->4^ 应用归并排序算法,对键值序列29,1,25,47,58,12,51,10从小到大进行排序,写出每趟排序结果 待排序序列(46,84,56,40,38,79) 第一轮处理后(40,38,46,56,84,79) 请问采用的排序算法是什么如题.4个备选答案:简单选择、简单插入、快速、堆排序 拓扑的定义是什么? 快排算法是怎样排序的呢若是以第一个元素为基准,21 25 5 17 9 23 30这个序列的第一遍排序后的结果是什么呢 数据结构拓扑排序问题一个VOA网的二元组表示为:V={0,1,2,3,4,5,6,7,8,9,10}E={,,,,,,,,,,,,,,} 在此AOV网的邻接表存储中,个顶点的边界点按照顶点顺序从大到小链接的,写出拓扑排序的拓扑序列.1 5 0 2 4 数据结构拓扑排序问题如图,试给出一种拓扑序列,若在它的邻接表存储结构中,每个顶点邻接表中的边结点都是按照终点序号从大到小链接的,则按此给出唯一一种拓扑序列4 0 2 3 5 7 6 8 91 4 0 2 3 对同一个基本有序的待排序列分别进行堆排序、快速排序和冒泡排序,最省时间的算法是___________ 采用快速排序算法,对关键字序列(28,56,78,60,12,25)按从小到大次序排序,写出第一趟,第二趟的排序结果 对序列{8,3,1,7,6,5,2,4}排序,要求排升序,用快速排序算法进行排序的各趟结果~