假设有一个nxm的图,每个相邻节点之间的距离都为1,但不一定在每个节点都有路径,没有路径的点可以忽略,因为不可达。现在从边上任意一点出发,寻找图内三个被任意设置的目标,找到三个目标后返回起点,总耗时越少越好。
现在已经实现的:寻找目标时递归遍历所有节点(不一定会遍历到所有点,因为有可能先找到所有目标),找到所有目标后立即返回起点。返回起点的过程中可以使用比如Dijkstra算法在已探索路径上作出决策。这有点像玩魔兽争霸:派一个农民出去寻找敌方基地,出去之前地图是一片漆黑,当找到所有基地后返回,返回过程中只走探索过的地形,当然再探索未知地形也可以,但是不确定因素很大,有可能会花费更多时间。
地形举例(7x4),没有路径的点就不画了:
O-O-O-O-O-O-O
| | |
O-X O-O-O-S
| |
O-O-O-X O
| | |
O-X-O-O-O-O-O
O表示普通节点,X表示要寻找的目标,S表示起点。
感觉实现方式还不是最优,所以来征集大家的想法。