Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5544895
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: C/C++

2009-12-01 21:55:38


任务: A 点移动到,B点,画 X 的表示不能通过,计算最优路径。入下图所示:


寻路图片

如上图所示,最优的路径为红线表示路径。计算方法如下:

1>     地图数据可以看做一个个的正方形格子。

2>     将所有地图格子的数值都初始化为 1000 (假设最多移动1000步)

3>     将画 X 的格子,设置值为 -1,表示此格子不能通过

4>     B 点出格子的数值设置为 0,然后向四周发散,如果某个的格子的数值比 B 点的大,则将此处的格子值设置为 “前一个格子的值 + 1”,然后以次格子为中心,以此向外发散。

5>     最后,找到 A 点时,A 点处的格子的值为 14,此时,从A B的最优路径为:14,13,12,11,10,9,8,7,6,5,4,3,2,1,0

6>     说明,此寻路算法为比较简单的寻路算法,比较适合处理速度有限的嵌入式开发平台。

阅读(1592) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~