在定向加权图中查找无法到达节点的最佳方法是什么。我已经使用A *进行寻路。因此,数据包含节点,链接和邻接列表的列表。我在考虑BFS / DFS(这是正确的??),并寻找未标记的节点。节点数可以是100 - 200,因此它不是一个大图。还有更好的方法吗?
答案 0 :(得分:2)
BFS或DFS都可以正常运行:您需要在可能声明其某些节点无法访问之前从起始顶点遍历整个子图,因此无论您发现可以到达的节点的顺序都无关紧要。由于它不是一个大图,递归DFS不应该出现问题,因为即使图形实际上是一个列表,200个节点也不应该足以威胁堆栈溢出。
答案 1 :(得分:1)
无法访问从哪里?你必须提供一个起始节点。为每个图节点填充bool[]
一个条目的BFS将起作用,其中节点访问操作将节点bool[i]
的{{1}}设置为true。最后,带有i
的节点i
是无法访问的节点。这在运行时方面应该是最佳的。从BFS前沿/队列中的“起始节点”开始。