回溯算法的模型就是一种走迷宫问题的解决方法。
按照某个策略不断走下去,直到走到终点或者说走完全图。
这是一个通用的算法,理解透了后可以用在许多app中。下面以一个实例来详细剖析一下这个算法,若有错误处,请各位大神指教。
首先看问题
{
{s,1,1,0,1,1,0,0,0,1,1,1,1},
{1,0,1,1,1,0,1,1,1,1,1,0,1},
{1,0,0,0,1,0,1,0,1,0,1,0,1},
{1,0,0,0,1,1,1,0,1,0,1,1,1},
{1,1,1,1,1,0,0,0,0,0,0,0,0},
{0,0,0,0,1,0,0,0,0,0,0,0,0},
{0,0,0,0,1,1,1,1,1,1,1,1,e}
}
1代表走廊,0代表墙,s代表起点,e代表终点,规则只可以横竖行走,要求从s->e;
解决这个问题需要的三个类:
1.Application (代表一个应用)
2.BackTrack