题目解析
题目用例2图示:
根据用例图示,我们可以将对应图理解为一个拓扑结构。
而本题需要我们找出对应拓扑结构中的循环依赖部分。
本题的拓扑结构的各个点有如下特点:
- 一个元素可以依赖于多个元素(下游点有多个)
- 一个元素也可被多个元素依赖(上游点有多个)
因此,我们判断一个拓扑结构是否有循环依赖时,就是:
- 不停剥离拓扑结构中入度为0的点(入度值:即上游点数量)
- 不停剥离拓扑结构中出度为0的点(出度值:即下游点数量)
比如用例1,我们不停剥离入度、出度为0的点
当剥离入度或出度为0的点后,如上图点5和点4剥离后,和他们关联的点1和点2就会减去对应的度数,变为下图