A* alternatives?

BlitzMax Forums/BlitzMax Programming/A* alternatives?

And if the route doesn't change, then can't you simply cache it and recalculate it only when you need to?
I've also implemented a method of spreading out recalculations over time, where things further away would update later than things closer to the point of change, which helped to keep the framerate max'd out.