遍历网络搜索,当搜索路径上的节点值满足目标时停止

Search through the network and stop when the value of the node along the search path meet the target

graph

我有一个有向网络图,需要找到从节点“a”开始的所有可能路径,并比较沿每条可能路径的每个节点的值。如果它到达一个值小于 a 值的节点,那么它将停止搜索该特定路径的其余部分。 比如在这个网络中,我们可以得到四种可能的路径:

a,b,e,m

a,c,f,k

a,c,g,h

a,c,g,I

具体代码将取决于您使用什么图形框架(如果有)来表示图形。一般来说,a depth-first search 是递归算法;所以如果你有每个节点的子节点列表(假设你的结构是一棵树,就像图像中的那样),你可以遍历每个节点的子节点,然后为每个:

  • 如果值大于等于a,递归检查子节点
  • 否则,停止递归调用(即向根节点回溯分支)

这只是一般指导;如果您可以提供当前代码的示例,我们可以给出更具体的指导。