[英]Finding all possible paths in a cyclic directed graph given a starting vertex and a depth limitation
用于此的伪算法将是一个增强的 BFS,它跟踪它所经过的路径。 当它达到所需的深度时,它会注册路径然后终止。
像这样的东西(node.js 风格的语法):
const requiredDepth = X
const relevantPaths = {}
const runBFS = (curNode, curPath = []) => {
if (crPath.length === requiredDepth) {
relevantPaths.push(curPath)
return
}
for (let neighbor of curNode.neighbors) {
const newPath = [ ...curPath, getEdge(curNode, neighbor) ]
runBFS(neighbor, newPath)
}
}
runBFS(root)
希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.