【问题标题】:Implementation of A star algorithmA星算法的实现
【发布时间】:2012-03-15 19:02:11
【问题描述】:

A星算法可以用HashMaps代替ArrayLists实现吗?

【问题讨论】:

  • A* 算法已经使用 HashMap [或 HashSet] - 用于存储“关闭”节点。它使用更多的数据结构。如果您想要一个好的答案 - 您将必须更加具体。我不相信在原始算法的伪代码中有任何ArrayList 的迹象,所以我相信你在询问具体的实现——所以为了得到一个好的答案,我们需要更多关于这个实现的细节。
  • 它从不使用 ArrayLists,除非在特别蹩脚的实现中。
  • 星型算法与任何数据结构无关

标签: algorithm arraylist hashmap a-star


【解决方案1】:

首先,星号与任何特定的数据结构无关。我使用数组列表和排序列表(用于按排序顺序存储打开的节点)来实现它。你可以根据自己的需要来实现

【讨论】:

    【解决方案2】:

    我认为您在谈论的是堆,或者说是优先级队列。最佳优先搜索方法要求您从开放集中选择成本最低的节点。堆允许进行 O(log N) 插入并在 O(1) 处查找当前最佳节点。

    【讨论】:

      猜你喜欢
      • 2011-06-05
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      相关资源
      最近更新 更多