假如我们的目标是求点1到点6的所有路径,可以采用深度优先搜索法: 先将节点1加入路径,然后从1的后置节点中选择一个节点,1有两个后置节点,分别是2和3; 这里先选择2,路径为[1,2]; 然后再从2的后置节点中选择...,只能选择4,路径为[1,2,4]; 从4的后置节点中选择5,路径为[1,2,4,5]; 从5的后置节点中选择6,路径为[1,2,4,5,6]形成一条完整的从1到6的路径。...这个问题可以由“求从1到6的所有路径”拆解成“从2到6的所有路径”和“从3到6的所有路径”两个问题,然后再往下依次拆解,这种形式的问题可以很方便地采用递归算法解决。...6]
搜索节点5的后置节点6
找到终点6,得到路径,往前回溯一位,查看节点5是否有其他路径
节点5的后置节点搜索完毕,往前回溯一位,查看节点4处是否有其他路径
节点4的后置节点搜索完毕,往前回溯一位,查看节点...4处是否有其他路径
节点4的后置节点搜索完毕,往前回溯一位,查看节点3处是否有其他路径
搜索节点3的后置节点6
找到终点6,得到路径,往前回溯一位,查看节点3是否有其他路径
节点3的后置节点搜索完毕,往前回溯一位