title: What is the point of IDA* vs A* algorithm
body: <p>I don't understand how <code>IDA*</code> saves memory space.
  From how I understand <code>IDA*</code> is <code>A*</code> with iterative deepening. </p>
  
  <p>What's the difference between the amount of memory <code>A*</code> uses vs <code>IDA*</code>.</p>
  
  <p>Wouldn't the last iteration of <code>IDA*</code> behave exactly like <code>A*</code> and use the same amount of memory. When I trace <code>IDA*</code> I realize that it also has to remember a priority queue of the nodes that are below the <code>f(n)</code> threshold.</p>
  
  <p>I understand that ID-Depth first search helps depth first search by allowing it to do a breadth first like search while not having to remember every every node. But I thought <code>A*</code> already behaves like depth first as in it ignores some sub-trees along the way. How does Iteratively deepening make it use less memory?</p>
  
  <p>Another question is Depth first search with iterative deepening allows you to find the shortest path by making it behave breadth first like. But <code>A*</code> already returns optimal shortest path (given that heuristic is admissible). How does iterative deepening help it. I feel like IDA*'s last iteration is identical to <code>A*</code>.</p>