A Star 算法是一种典型的 启发式算法。其原理是利用 启发函数产生启发值根据启发值对待考察元素进行筛选得到最优代价元素,一路筛选直到找到目标元素。
知道启发式算法的都知道启发式算法中常会用到 OpenList 和 CloseList 分别用于存放 待考察的元素和通过考察的元素。通过不停的将元素放入 OpenList 中,不断地对 OpenList 进行晒寻再将筛选出来的元素放入CloseList 中。由此可见最终的最优路径解必然是存在于 CloseList 中的,只要对 CloseList 进行分析便可获得“解路径”。
以下是一部分C#中实现A Star算法的代码片段。
部分代码: