知识大全 图 - 拓扑排序 (一)
Posted 知
篇首语:丈夫欲遂平生志,一载寒窗一举汤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 图 - 拓扑排序 (一)相关的知识,希望对你有一定的参考价值。
拓扑排序(Topological Sort)
对一个 有向无环图 (Directed Acyclic Graph简称 DAG )G进行拓扑排序 是将G中所有顶点排成一个线性序列 使得图中任
意一对顶点u和v 若 ∈E(G) 则u在线性序列中出现在v之前
通常 这样的线性序列称为满足拓扑次序(TopoiSicai Order)的序列 简称 拓扑序列
注意
①若将图中顶点按拓扑次序排成一行 则图中所有的有向边均是从左指向右的
②若图中存在有向环 则不可能使顶点满足拓扑次序
③一个DAG的拓扑序列通常表示某种方案切实可行
【例】一本书的作者将书本中的各章节学习作为顶点 各章节的先学后修关系作为边 构成一个有向图 按有向图的拓扑次序安
排章节 才能保证读者在学习某章节时 其预备知识已在前面的章节里介绍过
④一个DAG可能有多个拓扑序列
【例】对图G 进行拓扑排序 至少可得到如下的两个(实际远不止两个)拓扑序列 C C C C C C C
C C 和C C C C C C C C C
>
⑤当有向图中存在有向环时 拓扑序列不存在
【例】下面(a)图中的有向环重排后如(b)所示 有向边
工作计划 则找不到该图的拓扑序列(即含有向环) 就意味着该方案或计划是不可行的
>
无前趋的顶点优先的拓扑排序方法
该方法的每一步总是输出当前无前趋(即人度为零)的顶点 其抽象算法可描述为
NonPreFirstTopSort(G)//优先输出无前趋的顶点
while(G中有人度为 的顶点)do
从G中选择一个人度为 的顶点v且输出之;
从G中删去v及其所有出边;
if(输出的顶点数目<|V(G)|)
//若此条件不成立 则表示所有顶点均已输出 排序成功
Error( G中存在有向环 排序失败! );
对G 执行上述算法的执行过程和得到的拓扑序列是C C C C C C C C C
注意
无前趋的顶点优先的拓扑排序算法在具体存储结构下 为便于考察每个顶点的人度 可保存各顶点当前的人度 为避免每次选入
度为 的顶点时扫描整个存储空间 可设一个栈或队列暂存所有入度为零的顶点
在开始排序前 扫描对应的存储空间 将人度为零的顶点均入栈(队) 以后每次选人度为零的顶点时 只需做出栈(队)操作即可
cha138/Article/program/sjjg/201311/23813相关参考
.拓扑排序的有向图中最多存在一条环路( )【大连海事大学一(分)】 .任何有向图的结点都可以排成拓扑排序而且拓扑序列不唯一(
概念 有向无环图(DirectedAcyclicGraph):一个无环的有向图简称DAG图 拓扑排序(TopologicalSort)将一个有向无环图G中所有顶点排成一个线性序列使得对图中任意一对
知识大全 数据结构 7.11 AOV网的拓扑排序的过程(一)
数据结构7.11AOV网的拓扑排序的过程(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 希
.已知一图如下图所示 ().写出该图的邻接矩阵 ().写出全部拓扑排序 ().以v为源点以v为终点给出所有事件允许发生的最早时间和最晚时间并给出关键路径 ().求V结点到各点的最短距离【北
.下面哪一方法可以判断出一个有向图是否有环(回路)【东北大学(分)】 A.深度优先遍历 B拓扑排序 C求最短路径 D求关键路径 在图采用邻
一个复杂的工程通常可以分解成一组小任务的集合完成这些小任务意味着整个工程的完成例如汽车装配工程可分解为以下任务将底盘放上装配线装轴将座位装在底盘上上漆装刹车装门等等任务之间具有先后关系例如在装轴之
拓扑排序算法——伪代码 栈S初始化累加器count初始化 扫描顶点表将没有前驱的顶点压栈 当栈S非空时循环 vj=退出栈顶元素输出vj累加器加
知识大全 数据结构 7.12 AOV网的拓扑排序的过程(二)
数据结构7.12AOV网的拓扑排序的过程(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 希
.如下为拓扑排序的C程序 ().列出对图执行该程序后的输出结果 ().在程序空白处填上适当语句 voidtopsort(hdnodesgraph[]intn) intijktop;node
.n个顶点的有向图用邻接矩阵array表示下面是其拓扑排序算法试补充完整 注().图的顶点号从开始计().indegree是有n个分量的一维数组放顶点的入度 ().函数crein用于算顶点入度