这是一棵树:
将有一个根。
每个树节点都有零个或多个子节点。
允许两个节点指向同一个子节点。假设节点 A 和节点 B 都有子节点 C。
但是,禁止这样做,
节点 A 是节点 B 的后代,节点 B 是节点 A 的后代。
一种被禁止的情况是
节点 A 有一个子节点 C 和节点 D,
节点 C 和 D 都有一个子节点 E,
节点 E 有一个 A 的子节点。
问题是,如何以最快的方式确定这个圈子?
更新:我意识到这是在有向图中找到任何循环。刚才我设法想出了一个类似于 Tarjan 算法的解决方案。
感谢您的评论。