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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/22 03:55:03
应用拓扑排序算法求得的是什么序列应用拓扑排序算法求得的是什么序列应用拓扑排序算法求得的是什么序列3.1AOV网在现代化管理中,人们常用有向图来描述和分析一项工程的计划和实施过程,一个工程常被分为多个小

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

应用拓扑排序算法求得的是什么序列
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}排序,要求排升序,用快速排序算法进行排序的各趟结果~