Algorithm 哪种算法可以找到所有输出路径都可以从另一个节点到达的最近节点

Algorithm 哪种算法可以找到所有输出路径都可以从另一个节点到达的最近节点,algorithm,graph,graph-theory,Algorithm,Graph,Graph Theory,您建议使用哪种算法来查找出节点的所有路径可以从特定节点到达的最近节点。这张图的方向不对 我试图分析控制流程图,当出现“如果”块时,我想找到“关闭”“如果”的块。并行运行一组宽度优先搜索,从开始节点的每个输出路径进行搜索,每次检查节点时,将其计数增加一。(注意:此处的“平行”意味着您应该首先对所有搜索执行所有“距离=1”评估,然后执行所有“距离=2”评估,等等-这确保您找到的结果是沿任何路径最接近的结果)。确保不在图中循环循环(如果存在) 在第一个节点上停止,增加到与原始节点的输出路径数相同的计数

您建议使用哪种算法来查找出节点的所有路径可以从特定节点到达的最近节点。这张图的方向不对


我试图分析控制流程图,当出现“如果”块时,我想找到“关闭”“如果”的块。

并行运行一组宽度优先搜索,从开始节点的每个输出路径进行搜索,每次检查节点时,将其计数增加一。(注意:此处的“平行”意味着您应该首先对所有搜索执行所有“距离=1”评估,然后执行所有“距离=2”评估,等等-这确保您找到的结果是沿任何路径最接近的结果)。确保不在图中循环循环(如果存在)

在第一个节点上停止,增加到与原始节点的输出路径数相同的计数


运行时间为O(N+E),其中N是节点数,E是当前节点下游的边数。由于提前终止,大多数搜索将花费较少的时间。

并行运行一组广度优先搜索,从开始节点的每个外部路径进行一次搜索,每次检查节点时,将其计数增加一。(注意:此处的“平行”意味着您应该首先对所有搜索执行所有“距离=1”评估,然后执行所有“距离=2”评估,等等-这确保您找到的结果是沿任何路径最接近的结果)。确保不在图中循环循环(如果存在)

在第一个节点上停止,增加到与原始节点的输出路径数相同的计数


运行时间为O(N+E),其中N是节点数,E是当前节点下游的边数。由于提前终止,大多数搜索将花费较少的时间。

此外,如果满足您的需要,您可能希望返回到以前的一些问题并在那里将答案标记为“已接受”。此外,如果满足您的需要,您可能希望返回到以前的一些问题并在那里将答案标记为“已接受”。谢谢!听起来不错,我现在就分析一下。但我不知道它是否适用于“案例”块,其中输出路径的数量可能大于每个“并行”组我必须访问的节点。我的问题可以被视为找到最近的支配者。谢谢!听起来不错,我现在就分析一下。但我不知道它是否适用于“案例”块,其中输出路径的数量可能大于每个“并行”组我必须访问的节点。令人惊讶的是,我的问题可以被视为找到最近的支配者。