Rumah  >  Artikel  >  拓扑排序是怎么排序的?

拓扑排序是怎么排序的?

醉折花枝作酒筹
醉折花枝作酒筹asal
2021-07-02 14:19:203213semak imbas

方法:1、找到图中的一个入度为0的结点,将此节点从图中剔除并加入到序列E中;2、将1中找到的结点的全部关联的边从图中去掉;3、重复1,2直到图中的全部结点被去除或无法找到入度为0的结点为止。

拓扑排序是怎么排序的?

本教程操作环境:windows7系统、Dell G3电脑。

  1. 找到图中的一个入度为0的结点,将此节点从图中剔除并加入到序列E中

  2. 将1中找到的结点的全部关联的边从图中去掉

  3. 重复1,2直到图中的全部结点被去除或无法找到入度为0的结点为止

若此时图中的结点数为0则找到了拓扑序列,若此时图中结点数不为0说明图中存在环,无法进行拓扑排序。

扩展资料:

对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。

执行步骤

由AOV网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存在入度为0的顶点为止。

(1) 选择一个入度为0的顶点并输出之;

(2) 从网中删除此顶点及所有出边。

循环结束后,若输出的顶点数小于网中的顶点数,则输出“有回路”信息,否则输出的顶点序列就是一种拓扑序列。

4E]_~I1P[[U`SNC(]47QGSY.png

更多计算机相关知识,请访问常见问题栏目!

Atas ialah kandungan terperinci 拓扑排序是怎么排序的?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn