考研题:有向中间根节点算法

基本思想是使用深度优先搜索。

将每个顶点作为深度优先搜索的起始节点。如果图中的所有节点都可以通过一次深度优先搜索来访问,那么该节点就是根节点。这样,每个节点可以通过执行深度优先搜索作为起点来找到所有的根。

算法:

深度优先搜索是一个非常简单的算法,在外面设置一个循环就可以了。