有向图的拓扑排序的基本思想是: 首先在有向图中选取一个没有前驱的顶点,将其输出,从有向图中删除该顶点, 并且删除【以该顶点为尾】的所有有向图的边。 重复以上的步骤,直到图中的【所有顶点均输】出或是图中的【顶点均没有前驱】为止。 对于后者,说明有向图中存在环,不能进行拓扑排序。 【无向图和有向图判断是否有环】 1.对于无向图,顶点v的度是指和v相关联的边的数目。 2.对于有向图,以顶点v为头的弧的数目称为v的入度,记作ID(v)。 3.以顶点v为尾的弧的数目称为v的出度,记作OD(v)。 判断 无向图 中是否存在回路(环)的算法描述 如果存在回路,则必存在一个子图,是一个环路。环路中所有顶点的度>=2。 算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一。 第二步:将度数变为1的顶点排入队列,并从该队列中取出一个顶点重复步骤一。 如果最后还有未删除顶点,则存在环,否则没有环。 有向图是否有环的判定算法,主要有深度优先和拓扑排序两种方法。
有向图的拓扑排序
最新推荐文章于 2022-04-11 19:48:40 发布