【问题标题】:Implementing open and closed list for A* algorithm on a GPS在 GPS 上实现 A* 算法的开闭列表
【发布时间】:2016-07-03 13:53:03
【问题描述】:

我目前正在尝试创建一个 GPS 系统,它可以接收地图数据并在最短距离中找到起点和终点之间的最短距离。

程序接收顶点(每个都包含标签以及 x 和 y 坐标)和边(详细说明往返于哪些道路以及距离),然后将其存储在邻接列表中。

我已决定使用 A* 算法并尝试遵循此introduction,但我不确定如何实现打开和关闭列表。一个简单的向量就足够了吗,还是我需要使用其他东西,比如优先级队列?

【问题讨论】:

    标签: java algorithm gps path-finding a-star


    【解决方案1】:

    此处的打开列表用于获取下一个最佳或最短路径,因此您可以为此使用优先级队列。

    封闭列表只是丢弃你不想进一步使用的方块,你可以使用哈希表来实现封闭列表,这样你就可以在 O(1) 中找到这个方块是否被丢弃。

    【讨论】:

    • 感谢您的好回答,但我之前曾尝试制作散列图,但我目前对此感到恐惧。我只是想让这个系统正常工作,然后再改进它。开放列表和封闭列表是否可以使用向量?
    • 是的,它们都可以使用向量来完成,您必须遍历 open vector 并找到最短路径,同样还需要遍历 closed vector 来检查丢弃的正方形。
    猜你喜欢
    • 2011-01-09
    • 2016-12-20
    • 1970-01-01
    • 2011-06-05
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多