【发布时间】:2018-10-15 12:03:40
【问题描述】:
场景: 我有一张连接在一起的节点地图。
- 我有所有节点的未排序数组。
- 我有检查节点是否相互连接的功能(如果 node1 连接到 node2)。
function areNodesConnected(node1, node2) return true/false;
请求: 我正在寻找算法(伪代码)来使用此函数查找 2 个随机节点之间的路径。
结果应该是从节点 1 开始排序到节点 2 结束的节点数组。如果2个节点之间没有路径,则返回null。
注意事项:
- 不需要最短路径
- 如果路径较多,请先选择
感谢您的建议。 我不是要求完整的解决方案,而是从哪里开始解决这个问题的指针。
【问题讨论】:
-
如何先保存每个节点的所有连接节点,然后从第一个随机节点开始,开始移动到每个其他连接节点,并跟踪每个路径中遍历的节点。如果某个节点重复,请停止递归,否则对当前节点执行相同操作。当到达第二个随机节点时,返回路径。
标签: sorting graph-algorithm path-finding maze