确定2个节点之间是否存在路径的最有效方法是什么?

问题描述 投票:0回答:1

我在C中得到了一个整数数组(表示节点的2D矩阵),该整数可以容纳0或1s。给定2个“ 0”节点的坐标,我应该简单地找出它们之间是否存在0的路径(节点之间相邻连接-上,下,左,右)。

我可以使用BFS / DFS的更简单替代方法来解决我的问题吗?我知道使用BFS / DFS,不仅可以确定路径的存在,还可以找到并返回工作路径?只是想知道这是否对这个问题有过大的杀伤力。

我在C中得到了一个整数数组(表示节点的2D矩阵),该整数可以容纳0或1s。给定2个'0'节点的坐标,我应该简单地找出是否... ... >>

c depth-first-search
1个回答
1
投票

我相信在一般情况下,深度优先搜索(使用缓存来确保您仅访问给定节点一次通常是检查路径是否存在的最快方法。

如果您的数据是集群的,那么先找到集群之间的连接可能会更快。如果您需要多次进行此检查,那么一次构建这些集群并对其进行搜索会很有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.