确定在恒定时间内两个节点之间是否至少存在一条路径



在有向图中,是否可以确定在恒定时间内两个预定义节点之间是否至少存在一条路径?如果我使用邻接矩阵数据结构,它会有用吗?

请告诉我我缺少什么,我需要学习什么。如果没有标准的算法,你能为我解释一些解决方案吗?

好吧,如果不进行预处理,它就无法在恒定时间内完成,您受这些节点之间的最短路径的约束,以找到最短路径,如果不存在这样的路径,它可能会衰减到图的大小。

如果允许预处理,则可以构造强连通分量图(设为G'),对其进行字典排序,并在G'上存在从v'到u'的路径的情况下添加所有对(v',u')的指示。

在查询时,您可以搜索包含vv'和包含uu'。并且检查是否存在从v'u'的路径,答案将是相同的。

如果使用Kruskal算法预处理图,则随后可以确定两个节点是否在恒定时间内连接。该算法将生成一组或多组连接节点。同一集中的两个节点通过一条或多条路径连接。不相交集中的节点不连接。

如果不允许您对图形进行预处理,那么答案是"否"。

相关内容

最新更新