美文网首页
数据结构-图-拓扑排序

数据结构-图-拓扑排序

作者: arkulo | 来源:发表于2016-06-22 18:12 被阅读233次

github地址:https://github.com/arkulo56/thought/blob/master/software/dataStruct/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84_%E5%9B%BE_%E6%8B%93%E6%89%91%E6%8E%92%E5%BA%8F.md

图_拓扑排序

一个不存在回路的AOV网,可以将其应用在各种各样工程项目的流程图中。例如:让你实现一个画流程图的软件,那你在内存中怎么组织流程图呢??

也就是保证工程项目能够顺利进行

AOV网

在一个表示工程的有向图中,定点表示活动,弧表示活动之间的优先关系

拓扑排序

其实就是对一个有向图(包含AOV)构造拓扑序列的过程

算法原理

数据结构中in表示该定点的入度,因为是AOV网,因此从入度为0的点开始

  1. 找到所有入度为0的顶点(p点),入栈
  2. 读栈,从图中删除p点,然后把与p相连的弧尾顶点in值减1,判断这些顶点有无入度(in的值)为0者,有则入栈
  3. 读栈取出一个新的顶点,急需执行步骤2,直到全部顶点操作完毕

例如:下面的图第一次就是找到三个顶点入度为0,全部入栈

相关文章

  • 图的最短路径和拓扑排序

    拓扑排序 2、图的最短路径 3、图的拓扑排序

  • 有向无环图的数据结构和拓扑排序

    有向无环图的拓扑排序,首先定义有向图的存储数据结构,邻接链表Bag,实现Iterable接口。 定义有向图的数据结构:

  • 7.6图的应用:拓扑排序

    拓扑排序Topological Sort ❖从工作流程图得到工作次序排列的算法,称为“拓扑排序”❖拓扑排序处理一个...

  • 数据结构-图-拓扑排序

    github地址:https://github.com/arkulo56/thought/blob/master/...

  • 18-拓扑排序

    拓扑排序## 拓扑排序是针对有向无环图定义的,此算法可以判断一个有向图是否存在回路。拓扑排序反应的是活动和工程的先...

  • 拓扑排序和关键路径求值

    拓扑排序和关键路径的求值都是对图的应用,严格来说其实是对有向图应用。 我们先来描述一下拓扑排序,拓扑排序就是根据路...

  • Java 算法-拓扑排序(深搜或者广搜)

      说实话,在数据结构中,拓扑排序我掌握的不是很好,今天在lintCode上面做了关于拓扑排序的题,才开始还是有点...

  • 数据结构 图之拓扑排序

    拓扑排序 一、什么是拓扑排序? 在图论中,拓扑排序是一个有向无环图的所有顶点的线性序列,且该序列必须满足 每个顶点...

  • 数据结构笔记(图->拓扑排序)

    拓扑排序:拓扑序:如果一个图里,从V到W有一条有向路径,则V一定排在W之前,满足这个条件的顶点序列就是一个拓扑序拓...

  • python 多重继承之拓扑排序

    一、什么是拓扑排序 在图论中,拓扑排序(Topological Sorting) 是一个 有向无环图(DAG,Di...

网友评论

      本文标题:数据结构-图-拓扑排序

      本文链接:https://www.haomeiwen.com/subject/uirndttx.html