Implementing A* Search
Hosted by Algorithms and Data Structures
Details
In computer science (http://en.wikipedia.org/wiki/Computer_science), A* (pronounced "A star" (http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Speaker_Icon.svg/13px-Speaker_Icon.svg.png listen (http://upload.wikimedia.org/wikipedia/commons/5/55/En-us-a-star.ogg))) is a computer algorithm (http://en.wikipedia.org/wiki/Computer_algorithm) that is widely used in pathfinding (http://en.wikipedia.org/wiki/Pathfinding) and graph traversal (http://en.wikipedia.org/wiki/Graph_traversal), the process of plotting an efficiently traversable path between points, called nodes. Noted for its performance (http://en.wikipedia.org/wiki/Computer_performance) and accuracy, it enjoys widespread use. Peter Hart (http://en.wikipedia.org/wiki/Peter_E._Hart),Nils Nilsson (http://en.wikipedia.org/wiki/Nils_Nilsson_(researcher)) and Bertram Raphael (http://en.wikipedia.org/wiki/Bertram_Raphael) of Stanford Research Institute (now SRI International (http://en.wikipedia.org/wiki/SRI_International)) first described the algorithm in 1968.[1] (http://en.wikipedia.org/wiki/A*_search_algorithm#cite_note-0) It is an extension ofEdsger Dijkstra's (http://en.wikipedia.org/wiki/Edsger_Dijkstra) 1959 algorithm (http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm). A* achieves better performance (with respect to time) by using heuristics (http://en.wikipedia.org/wiki/Heuristics).
