zoukankan      html  css  js  c++  java
  • 拓扑排序学习笔记

    前言

    ​ 摘自《算法竞赛进阶指南》。

    (~)

    拓扑排序

    ​ 给定一张有向无环图,若一个由图中所有点构成的序列 (A) 满足:对于图中的每条边 ((x,y))(x)(A) 中都出现在 (y) 之前,则称 (A) 是该有向无环图顶点的一个拓扑序,求解序列 (A) 的过程就成为拓扑排序。

    (~)

    过程

    1. 建立空的拓扑序列 (A)
    2. 预处理出所有点的入度 deg[i] ,起初把所有入度为 (0) 的店入队。
    3. 取出队头节点 (x) ,把 (x) 加入拓扑排序 (A) 的末尾。
    4. 对于从 (x) 出发的每条边 ((x,y)) ,把 (deg[i])(1) 。若被减为 (0) ,则把 (y) 入队。
    5. 重复 (3 sim 4) 步直到队列为空,此时 (A) 即为所求。

    (~)

    性质

    1. 可以判环。
    2. 将拓扑序反着来,可以优先处理每个节点的后继节点的信息。

    (~)

    结语

    写的很草率,神仙不要 D 我。

  • 相关阅读:
    流程控制之while循环
    流程控制之if...else
    基本运算符
    基本数据类型
    注释
    用户交互
    常量
    test
    查询方法
    删除代码
  • 原文地址:https://www.cnblogs.com/cjtcalc/p/12467570.html
Copyright © 2011-2022 走看看