最近刷题一直刷到有向图的拓扑排序,今天也是抽出时间给这玩意搞懂了。
就不在这里粘贴百度搜索的拓扑排序的定义了,莫得意义。
一、首先:
拓扑排序有三个重要的概念:1.入度、2.出度、3.有向无环图。
1.入度:就是这个点被别的点指向的次数,指向一次入度就是1,指向两次入度就是2
上图中d处的入度就是0,e处的入度为1
2.出度:就是这个点指向别的点的次数,同样的,指向一次就是出度1,指向两次就是出度2
上图中d处的出度就是1,e处的出度为0。
3.有向无环图:从任意一个点出发,经过若干条边之后,没有回到起点处,那么我们就称该图为有向无环图。
如上图所示,就是一个有向无环图,无论从哪个点出发,都是不能回到原点的。
二、拓扑排序的过程
(1)、从有向图中选择入度为0的顶点并输出;
(2)、在图中删除该顶点和所有以它为起点的有