在网格地图上绘制障碍与高代价地形,比较 BFS、Dijkstra 与 A* 的搜索行为。所有结果由实际搜索计算得出。
同一地图上并排运行三种算法后的量化对照
| 算法 | 寻路准则 | 步数 | 总代价 | 访问节点 | 耗时 |
|---|
BFS 按步数搜索,忽略地形代价,保证步数最少。
Dijkstra 按进入格子的累计代价扩展,保证最小总代价。
A* 使用曼哈顿距离作为启发函数,在加权地图上通常更快,结果代价与 Dijkstra 相同。
起点自身不计入代价;普通格进入代价 1,高代价格进入代价 5;移动为四方向。
鼠标或手指在地图上按住拖动即可连续绘制;触摸模式同样可用。
选择“起点 / 终点”后点击格子可移动它们,起点终点不会被障碍覆盖。
搜索进行中编辑地图会自动停止并清除当前搜索结果,避免状态混用。
空格 运行,. 单步,Esc 清除搜索,C 三算法对比,Del 清空地图,R 重置。
键盘编辑:方向键移动光标,Shift+→ 右移,Enter 应用当前工具,S/E 切换起点 / 终点工具。
应用“加权走廊”预设后,分别运行 BFS 与 Dijkstra,可直观看到 BFS 可能绕远但步数少、Dijkstra 走代价更低的路线。
应用“封闭终点”预设后,终点被完全包围,搜索结束会明确提示不可达。
窄屏或站内嵌入时会隐藏次要说明,核心控件与统计保持可见;把鼠标移到地图上可查看格子详情。