Skip to main content
. 2022 Jan 10;22(2):495. doi: 10.3390/s22020495
Algorithm 1. A* algorithm
queue = [root]
goal = goal_node
while (queue not empty && queue[0] not goal){
  current_node = queue.pop()
  children = current_node.generate_children()
  queue.add(children)
  queue.sort(by = path_cost + heuristic)
}
if (queue[0] is goal){
   return optimal_path(queue[0])
} else {
   return “failure”
}