根据上图所示,分析顶点的先后顺序
入上图可以构造两种对象:
顶点对象:包含入度数,顶点名称V0等,首个出度指向
边标对象:顶点对象的出度的顶点的名称的下标和顶点对象下一个出度指向。
核心思想:
1.把所有入度为零的顶点元素的下标压入栈(不管先后顺序)
2.弹出栈顶元素,打印或保存;栈顶元素(下标)对应的顶点的出度指向的顶点的入度均-1;
3.检查是否有入度为0的顶点元素,把下标压入栈。
4.没有则继续弹出栈顶元素,直到栈为空。
拓扑排序的一种结果:
顶点:v3
顶点:v1
顶点:v2
顶点:v6
顶点:v9
顶点:v10
顶点:v13
顶点:v0
顶点:v4
顶点:v5
顶点:v8
顶点:v7
顶点:v12
顶点:v11