一、寻路模式
1、举例说明
(1)比如玩游戏的时候,选定一个目标点,人物就会自动到达我们指定的目标点
(2)在地图上选定起点和终点,地图上就会自动给我们打出一条比较合理的路线(可能是最近的一条路线)
2、三种模式
(1)深度优先搜索
a定义:从起点找到相邻的连接点,再从相邻点继续寻找下一个相邻点,一直搜索到目标点
b特点:一层一层找线路,缺点:并没有办法找到最优路线
(2)广度优先搜索
a定义:像网状一样像四周扩散,从一个点向四周扩散,在从下一个点在像四周扩散
b特点:搜索面积大,性能低,要进行大量的计算
(3)启发式搜索
通过估价函数来模拟判断是否选择这个点。
a定义:与人类思想完全吻合,按照人类思想而设计
b特点:既要保证最优路径又要保证性能
三、估价函数
(1)f(n) = g(n) + h(n)
f(n)是n节点的估价函数
g(n)是初始点到n节点的实际代价
h(n)是n节点到目标点的实际代价
(2)A*算法程序实现
- open队列——排序估价函数
- close队列——排除干扰节点
- 查询相邻位置
- 封装估价函数 f() g() h()
- 设置父节点指针
(3)