zoukankan      html  css  js  c++  java
  • 【模板篇】A* 寻路算法

    上次在做k短路的时候说到了A*, 但是并没有仔细的研究A*寻路, 毕竟k短路中的A*也不怎么标准…

    A*寻路的过程网上还是有很多的, 讲得也很清楚, 不妨跟着里面的图示自己动手操作一下, 基本一遍就能理解的差不多, 再亲自写一遍代码就没啥太大问题咯~

    今天就实际动手写了写A*的寻路… 不过这么小一个程序却写了一个类, (其实是为了以后万一写个颓废的小程序寻路的时候可以直接继承2333

    写的栗子是非常基础的, 8向移动的01迷宫.
    其中这里h函数的选取只采用了非常low的euclid距离, 还有很多更好用的算法以后回去学习…
    而这么选取有时候就会出现很迷的走法, 可能会看心情优化.
    这个模板肯定还会再改的.

    因为不是交题, 所以效率并不是太重要, 这里就用了全STL的实现..
    不过效率还是可以顺手优化的, 于是就用了priority_queue来优化找最小的f的过程.
    然后就是map set vector了..

    没准可能还会尝试用别的语言实现下~

    代码包括后续的更新都会在github上..
    如果可能的话(比如看我可爱啊什么的), 可以去点个star啊~

    好的 现在放出github传送门
    就是这里啦, 快戳进去~

    如果有什么意见或建议欢迎提出来哦…

  • 相关阅读:
    BZOJ 3144 [Hnoi2013]切糕
    一场比赛:20170707
    BZOJ 2815 [ZJOI2012]灾难
    BZOJ 1088 [SCOI2005]扫雷Mine
    BZOJ 1052 [HAOI2007]覆盖问题
    BZOJ 3505 [Cqoi2014]数三角形
    BZOJ 2957 楼房重建
    BZOJ 2654 tree
    丁酉年六月十一ACM模拟赛
    BZOJ 3438 小M的作物 & BZOJ 1877 [SDOI2009]晨跑
  • 原文地址:https://www.cnblogs.com/enzymii/p/8412097.html
Copyright © 2011-2022 走看看