拓扑排序(总结)

 

1、定义:对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序的序列,简称拓扑序列

2、条件:

  • 每个顶点出现且只出现一次
  • 若A在序列中排在B的前面,则在图中不存在从B到A的路径

3、特性:

  • 拓扑排序并不唯一
  • 有向无环图一定存在拓扑排序

使用的算法也很简单步骤大概就是:这里使用bfs(已理解)

一:先计算所有节点的入度

二:将所有入度为0的点进入一个队列

三:然后出队,得到一个元素

四:将该元素指向的所有元素的入度减1

五:如果减后其入度为0则将该元素入队列

六:继续出队重复步骤三,直到队列为空
https://blog.csdn.net/zuyuhuo6777/article/details/97966394

dfs遍历:

https://blog.csdn.net/pandora_madara/article/details/26478385

 

链接:https://blog.csdn.net/wenqiwenqi123/article/details/80024312

链接:https://zhuanlan.zhihu.com/p/69858335

链接:https://blog.csdn.net/weixin_42001089/article/details/84327306

你可能感兴趣的:(数据结构与算法)