This is an extension of the previous gist - while that gist explored a particular question, this one tries to compare some algorithms which have very similar implementations, but different requirements and performance characteristics. It generates a random but somewhat believable geography on a plane and then tries to get from Q to W (noting that there may be more than one connection between two cities, with different costs). Each run is different.
An example result:
==================================================================================== Algorithm A*: Expanded Q; Agenda = [(E, 308), (P, 190), (D, 289), (A, 497)] Expanded E; Agenda = [(P, 190), (W, 412), (D, 289), (I, 512), (A, 497)] Expanded P; Agenda = [(W, 412), (D, 289), (L, 338), (M, 385), (I, 512), (G, 420), (A, 497), (V, 528)]