今天终于通过了那道永远都看不懂题目的神经网络。。。
所谓拓扑排序,就是在有向无环图中,根据已经有的点和点之间的关系进行排序
引用jzyz教材上的栗子:比如说奶牛比较食量大小,我现在拿到的是cow[i]和cow[j]的吃草多少的关系,而不是两只牛吃草的多少,现在我需要得到牛的食量从大到小的顺序。
那么我们就可以发现,给的条件里面,要么cow【i】和cow【j】关系是确定的,要么他们关系不确定,但是绝对不存在两个人的关系是矛盾的,也就是没有环的存在,
给一个高端的说法叫做“有向无环图”;
这是拓扑排序的前提。
那么拓扑排序的过程如下:
step1、枚举所有度为0的点,入队
step2、把度为0的点枚举,然后去掉这条边,如果这条边指向的节点入度也为0,那么这个点也入队;
step3、队首++,重复step1,
那么这就完成了拓扑排序