对不起,我的文本墙尽可能简洁!诱导子图;两个节点之间的路径存在
我从G内部得到了一个非常大的有向图G和顶点子集S,我想要做的是找到由S引发的G的子图,并附加考虑如果某些路径存在于G中的顶点p和顶点q之间,在感应子图中这两个顶点之间存在边。这是关键;它比一般的诱发子图问题更复杂一些(我认为)。
我能想到的解决问题的最基本的方法如下(我知道它可能不是最有效的,让我知道,如果你有没有其他建议太复杂来实现):对于S中的每一对顶点都测试G中它们之间存在的路径。如果存在这样一条路径,则在p和q之间插入一条边在感应子图中。对我而言,n^2的时间不是那不好。
所以,我想我有两个问题: 1)什么是确定两个顶点之间是否存在路径的最快方法?我不需要知道路径,只是它是否存在。此外,如果我可以对整个图进行一些预处理以加快计算速度,那么可能会是什么情况,因为我必须在每对顶点之间执行此计算?
2)有没有比我建议找到我描述的诱导子图的类型更快的方法?
非常感谢您的帮助!