上传者: Sai114637
|
上传时间: 2021-11-28 20:54:26
|
文件大小: 15KB
|
文件类型: -
以A*算法作为本程序的算法,利用f=g+h;其中g代表每个结点的深度,h代表该结点与目标结点相差的位置。利用open,close表作为辅助。把每个同一层次的结点放进open表中,再选取最小代价放入close表中。close表中的结点即为最优路径中的一个结点。直到找出目标的结点,然后打印。
① 判断OPEN表是否为空的函数
② 求OPEN表中估价函数值最小的结点的函数
③ 判断初始状态是否可到达目标状态的函数
④ 求估价函数值p(n)-曼哈顿距离
⑤ 产生新状态的函数,共四个,空格上/下/左/右移动
⑥ 判重函数,判断新节点在OPEN,CLOSE表中是否已经有了
⑦ 单链表的逆置
⑧ 输出路径
⑨ 将结点添加到OPEN或CLOSE表中函数