拓扑排序是怎么排序的?
时间:2021-07-12
来源:互联网
今天PHP爱好者给大家带来拓扑排序的方法:1、找到图中的一个入度为0的结点,将此节点从图中剔除并加入到序列E中;2、将1中找到的结点的全部关联的边从图中去掉;3、重复1,2直到图中的全部结点被去除或无法找到入度为0的结点为止。希望对大家有所帮助。
本教程操作环境:windows7系统、Dell G3电脑。
找到图中的一个入度为0的结点,将此节点从图中剔除并加入到序列E中
将1中找到的结点的全部关联的边从图中去掉
重复1,2直到图中的全部结点被去除或无法找到入度为0的结点为止
若此时图中的结点数为0则找到了拓扑序列,若此时图中结点数不为0说明图中存在环,无法进行拓扑排序。
扩展资料:
对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。
执行步骤
由AOV网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存在入度为0的顶点为止。
(1) 选择一个入度为0的顶点并输出之;
(2) 从网中删除此顶点及所有出边。
循环结束后,若输出的顶点数小于网中的顶点数,则输出“有回路”信息,否则输出的顶点序列就是一种拓扑序列。
以上就是拓扑排序是怎么排序的?的详细内容,更多请关注php爱好者其它相关文章!
-
币安怎么购买First币?First购买教程与币安binance下载入口 时间:2025-05-15
-
币安怎么购买Pay币?Pay购买教程与币安binance下载入口 时间:2025-05-15
-
《“马上就到”的距离单位是什么?》 时间:2025-05-15
-
币安怎么购买Attention币?Attention购买教程与币安binance下载入口 时间:2025-05-15
-
币安怎么购买MATIC币?MATIC购买教程与币安binance下载入口 时间:2025-05-15
-
《为什么我的灵感总是在洗澡的时候出现?》 时间:2025-05-15
今日更新
-
Notepad++使用小技巧(护眼色与代码高亮设置)
阅读:18
-
javascript怎么删除信息
阅读:18
-
word分页符怎么删除
阅读:18
-
编译过程可分为几个阶段
阅读:18
-
详细介绍关于php的ini文件相关操作函数
阅读:18
-
如何使用Serializable接口来自定义PHP中类的序列化
阅读:18
-
第四代计算机的组成和特点是什么
阅读:18
-
javascript如何实现定时跳转页面
阅读:18
-
怎么在head区域引入css
阅读:18
-
一起看看VSCode配置Laradock容器和PHPCS插件的方法
阅读:18