鉴于我有一个最初为空的图形,逐渐增加边缘(逐个),检测和识别出现周期的最佳方法是什么?
每次添加新边时,是否必须检查整个图形中的周期?这种方法没有利用已经进行的计算。有没有我仍未找到的算法?
感谢。
答案 0 :(得分:4)
您可以在此处使用Quick Union Find算法来检查新边缘的两端是否已连接。
编辑:
如评论中所述,此解决方案仅适用于无向图。对于有向图,以下链接可能有助于https://cs.stackexchange.com/questions/7360/directed-union-find。