Search 
======

>>> from networkx import *
>>> from networkx.operators import convert_node_labels_to_integers as cnlti

simple graph

>>> G=cnlti(grid_2d_graph(4,4),first_label=1,ordering="sorted")

    .. image:: paths_G.png


>>> sp=bfs_length(G,source=1)
>>> print sp[16]
6

>>> sp=bfs_path(G,source=1)
>>> print sp[16]
[1, 2, 3, 4, 8, 12, 16]

>>> dfs_preorder(G,v=1)
[[1, 2, 5, 6, 9, 10, 13, 14, 15, 16, 11, 12, 7, 8, 3, 4]]

>>> dfs_postorder(G,v=1)
[[1, 5, 9, 13, 14, 15, 11, 7, 6, 10, 2, 3, 4, 8, 12, 16]]

>>> d=dfs_successor(G,v=1)
>>> print d[2]
[3]

>>> d=dfs_predecessor(G,v=1)
>>> print d[6]
[7]

>>> d=dfs_forest(G,v=1)
>>> G=d[0]
>>> print sorted(G.nodes())
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]


directed graph

>>> t = DiGraph()                                                          
>>> t.add_edge(3,2)
>>> t.add_edge(2,1)
>>> t.add_edge(4,1)
>>> t.edges()
[(2, 1), (3, 2), (4, 1)]

>>> bfs_path(t, source=3)
{1: [3, 2, 1], 2: [3, 2], 3: [3]}
>>> bfs_path(t, source=4)
{1: [4, 1], 4: [4]}
>>> bfs_path(t, source=1)
{1: [1]}
