zoukankan      html  css  js  c++  java
  • 拓扑排序

    1、有向无环图(DAG):有向图中不存在环。

    2、AOV网:各结点活动具有先后顺序的有向无环网络(而且边没有权值)。

    3、拓扑排序:

      拓扑排序可以理解为按活动的顺序排序,比如早上起来我必须先穿裤子再穿鞋,先穿内衣再穿外套,这个顺序不能乱。也可以应用在排课表上,比如我必须先学过C语言的课,才能去学数据结构。拓扑排序就是把这件事的活动的顺序,从活动网中提取出来,就是拓扑排序。

      拓扑排序的时间复杂度为O(|V|+|E|)

      拓扑排序常用两种算法:Khan算法和DFS深度优先搜索

      a、Khan算法:

          就是依次寻找入度为0的结点,然后输出,删除该结点,然后重复以上操作,直到全部输出。同一次输出的结点先后顺序可以改变,比如第一次输出ADF,也可以写成DAF,因此拓扑排序不唯一。

       b、深度优先搜索(DFS)方法进行拓扑排序:

        用DFS依次寻找输出 出度为0的结点,然后将输出的结点进行逆序,即可得到拓扑排序的序列。

       c、三角矩阵时说明没有回路,说明一定有拓扑排序。

  • 相关阅读:
    滤镜
    android 判断网络是否断开
    U5
    android 界面跳转
    光影魔术手 图片压缩
    服务器绑定 独立ip
    Java 开源 SOCKET 框架
    spring aop ehcache
    呼叫中心
    华丽字体
  • 原文地址:https://www.cnblogs.com/oaoa/p/13750854.html
Copyright © 2011-2022 走看看