NetworkX

Previous topic

networkx.dijkstra_predecessor_and_distance

Next topic

networkx.astar_path_length

networkx.astar_path

astar_path(G, source, target, heuristic=None)

Return a list of nodes in a shortest path between source and target using the A* (“A-star”) algorithm.

There may be more than one shortest path. This returns only one.

Parameters:

G : NetworkX graph

source : node

Starting node for path

target : node

Ending node for path

heuristic : function

A function to evaluate the estimate of the distance from the a node to the target. The function takes two nodes arguments and must return a number.

Examples

>>> G=nx.path_graph(5)
>>> print nx.astar_path(G,0,4)
[0, 1, 2, 3, 4]
>>> G=nx.grid_graph(dim=[3,3])  # nodes are two-tuples (x,y)
>>> def dist((x1, y1), (x2, y2)):
...    return ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5
>>> print nx.astar_path(G,(0,0),(2,2),dist)
[(0, 0), (0, 1), (1, 1), (1, 2), (2, 2)]