城市地图–深度优先遍历最短路径
要求
求城市1到城市5最短路程?
思路
同样使用图的邻接矩阵存储法存储地图,注意这次是有向图。使用深度优先遍历求解。从城市1出发,有分叉,先沿一条路径走下去,遇到分叉也是先选择一条往下走,直到走到城市5,此时并不一定是最短路径,或无路可走,回退到分叉点沿另一条走,重复步骤,直到回到第一个分叉口,此时全部路已经走完了。一个小技巧,在到达的每一个城市上记录走过的路程。
代码
#include <stdio.h>
#define N 6
#define M 6
int a[N][M] = {
{ 0 },
{ 0, 0, 2, -1, -1