试给出对该图进行拓扑排序的各种可能的拓扑序列。

题图所示为一有向图,



试给出对该图进行拓扑排序的各种可能的拓扑序列。


【正确答案】:

各种可能的拓扑排序序列为AEBDC;AEDBC。


【题目解析】:

若在有向图G中,从顶点 Vi到Vj有一条路径,则在拓扑序列中顶点Vi必须排在顶点Vj之前。找一个有向图的一个拓扑序列的过程称为拓扑排序。

下面给出有向图拓扑排序算法的基本步骤:
(1)图中选择一个入度为0的顶点,输出该顶点;
(2)从图中删除该顶点及其相关联的弧,调整被删弧的弧头结点的入度(入度减1);
(3)重复执行(1)、(2)直到所有入度为0的顶点均被输出,拓扑排序完成,或者图中再也没有入度为0的顶点。

本题中,顶点ABCDE的入度分别为:0,2,2,2,1。

首先A的入度为0,删除A及其边,调整把被删除边作为入度的结点的入度,即B的入度为1,D的入度为1,E的入度为0。再选入度为0的E,删除E及其边,调整B的入度为0,D的入度为0。

方法一:先删B及其边,调整C的入度为1;再删D及其边,调整C的入度为0;最后删C。故拓扑排序序列为AEBDC。

方法二:先删D及其边,调整C的入度为1;再删B及其边,调整C的入度为0;最后删C。故拓扑排序序列为AEDBC。


Top