有向无环图:无环的有向图,简称DAG图(Directed Acycline Graph)


有向无环图常用来描述一个工程或系统的进行过程。(通常吧计划、施工、生产、程序流程等当成是一个工程)
一个工程可以分为若干个 子工程,只要完成了这些子工程(活动),就可以导致整个工程的完成

AOV网:拓扑排序

  • 用一个有向图表示一个工程的各子工程及其相互制约的关系,其中以顶点表示活动,弧表示活动之间的优先制约关系,称这种有向图为顶点表示活动的网,简称AOV网(Activity On Vertex network)

拓扑排序:

在AOV网没有回路的前提下,我们将全部活动排序列成一个线性序列,使得若AOV网中有弧<i, j>存在,则在这个序列中,i一定排在j的前面,具有这种性质的线性序列称为拓扑有序序列,相应的拓扑有序排序算法称为拓扑排序。

例:排课表

拓扑排序的方法:

  • 在有向图中选一个没有前驱的顶点输出
  • 从图中删除该顶点和所有以它为尾的弧
  • 重复上述两步,直到全部顶点均已输出;或者当图中不存在无前驱的顶点为止

例如排课表的拓扑排序:
C1,C2,C3,C4,C5,C7,C9,C10,C11,C6,C12,C8
C9,C10,C11,C6,C1,C12,C4,C2,C3,C5,C7,C8
一个AOV网的拓扑排序序列不是唯一的

检测AOV网中是否存在环的方法:

对有向图构造其顶点的拓扑有序序列,若网中所有顶点都在它的突破普有序序列中,则该AOV网中必定不存在环

有向无环图——AOV网(拓扑排序)相关推荐

  1. 有向无环图——AOV网及拓扑排序

    有向无环图--AOV网及拓扑排序 有向无环图 无环的有向图叫有向无环图,简称DAG图 其应用大致如下: 在工程计划和管理方面有着广泛而重要的应用 描述一项工程或系统的进行进程的有效工具 对整个工程和系 ...

  2. java 有向无环图 树_拓扑排序-有向无环图(DAG, Directed Acyclic Graph)

    条件: 1.每个顶点出现且只出现一次. 2.若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面. 有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说. 一 ...

  3. 有向无环图的所有拓扑排序

    有向无环图的所有拓扑排序 对有向无环图DAG的拓扑排序是顶点的线性排序,从而使每一有向边[u,v][u,v][u,v],顶点u进来的顺序v在.如果图不是 DAG,则无法对图进行拓扑排序. 给定一个 D ...

  4. 图——深度优先遍历(DFS)实现有向无环图的逆拓扑排序

    对图的深度遍历与对树的深度遍历思想类似,采用的是递归函数的办法. 如果是非连通图,则DFS遍历所有顶点即可. //Graph 图 //vertex 顶点,用一个int型变量表示//返回有向图G中顶点v ...

  5. 大数据工作流任务调度--有向无环图(DAG)之拓扑排序

    拓扑排序(Topological Sorting) 回顾基础知识: 1.图的遍历: 图的遍历是指从图中的某一个顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次且仅访问一次.注意树是一种特 ...

  6. 有向无环图的应用——拓扑排序

    目录 一.什么是AOV网? 二.什么是拓扑排序? 2.1 拓扑排序的定义 2.2 拓扑排序的基本思想 三.拓扑排序算法的实现 3.1 算法思想 3.1.1 设置辅助数组indegree[ ] 3.1. ...

  7. 第十二届湖南省赛 (B - 有向无环图 )(拓扑排序+思维)好题

    Bobo 有一个 n 个点,m 条边的有向无环图(即对于任意点 v,不存在从点 v 开始.点 v 结束的路径). 为了方便,点用 1,2,-,n 编号. 设 count(x,y) 表示点 x 到点 y ...

  8. 有向无环图中的拓扑排序

    ´有向无环图(DAG),指不存在环的有向图 ´点的入度,指以这个点为结束点的边数 ´点的出度,指以这个点为出发点的边数 ´拓扑序就是对于节点的一个排列使得若(u,v)∈E,那么u在排列中出现的位置一定 ...

  9. 【数据结构】AOV网——拓扑排序

    相关概念 AOV网 AOV网(Activity On Vertex Network)用顶点表示活动.边是无权的,仅仅用来表示前驱与后继关系. 前驱与后继 有向边的起点称为终点的前驱,有向边的终点称为起 ...

最新文章

  1. linux 修改ip地址_Day.19 变更IP地址
  2. 打破情感分类准确率80分天花板!更充分的知识图谱结合范式
  3. 图解 MySQL 索引:B-树、B+树,终于搞清楚了!
  4. 中班音乐活动 机器人_【教育生活】音乐浸润童心,专业引领成长 ——记柯桥区中心幼儿园教育集团音乐项目组教学展示与研讨活动...
  5. LINUX-关机 (系统的关机、重启以及登出 )
  6. 开发者如何在一周从入门级到专家级别的修炼
  7. JS动态生成select下拉框的option并默认选中
  8. [教程] 变废为宝,教你自己组建 NAS 服务器,非常简单实用。组装、品牌 NAS 推荐。
  9. html5 省份热点图,javascript html5 canvas实现可拖动省份的中国地图
  10. /proc文件系统详解
  11. 如何取消html5微信页面授权,微信授权登录网页管理在哪里看?如何取消授权
  12. hdu 5294 Tricks Device 最短路建图+最小割
  13. 梳理50道经典计算机网络面试题
  14. java 什么时候用 protected_protected如何在java里使用?
  15. 视频怎么去水印教程 视频怎么去水印无痕迹
  16. 如何让导航条高亮显示
  17. 实现 JSON.parse
  18. 歌手祁隆离婚再起波澜,与和合国际收购《借我星光》版权有关系吗
  19. 基于javaweb+JSP+Servlet简单购物车
  20. Mac brew 安装mysql忘记密码

热门文章

  1. 必知必会--HashMap扩容机制
  2. 北京市个人社保缴费情况网上查询
  3. Arduino学习笔记一:一篇讲明白什么是Arduino
  4. 列举一些算法对照片、图像进行相似度对比分析比较
  5. 什么牌子的蓝牙耳机音效好?最强音质蓝牙耳机排名
  6. qgc 区域外扩_绝地求生:QGC新春邀请赛总决赛解读,大神吃鸡不走寻常路
  7. noVNC压缩包下载
  8. 我的世界龙珠服务器配置文件修改,【更新】【龙珠】【DragonBlockC】配置文件修改...
  9. linux 安装mysql客户端
  10. 哔哩哔哩弹幕网站大数据分析研究动态