predecessor#

predecessor(G, source, target=None, cutoff=None, return_seen=None)[source]#

Returns dict of predecessors for the path from source to all nodes in G.

Parameters:
GNetworkX graph
sourcenode label

Starting node for path

targetnode label, optional

Ending node for path. If provided only predecessors between source and target are returned

cutoffinteger, optional

Depth to stop the search. Only paths of length <= cutoff are returned.

return_seenbool, optional (default=None)

Whether to return a dictionary, keyed by node, of the level (number of hops) to reach the node (as seen during breadth-first-search).

Returns:
preddictionary

Dictionary, keyed by node, of predecessors in the shortest path.

(pred, seen): tuple of dictionaries

If return_seen argument is set to True, then a tuple of dictionaries is returned. The first element is the dictionary, keyed by node, of predecessors in the shortest path. The second element is the dictionary, keyed by node, of the level (number of hops) to reach the node (as seen during breadth-first-search).

Examples

>>> G = nx.path_graph(4)
>>> list(G)
[0, 1, 2, 3]
>>> nx.predecessor(G, 0)
{0: [], 1: [0], 2: [1], 3: [2]}
>>> nx.predecessor(G, 0, return_seen=True)
({0: [], 1: [0], 2: [1], 3: [2]}, {0: 0, 1: 1, 2: 2, 3: 3})