networkx.algorithms.dag.lexicographical_topological_sort¶
-
lexicographical_topological_sort(G, key=None)[source]¶ Returns a generator of nodes in lexicographically topologically sorted order.
A topological sort is a nonunique permutation of the nodes such that an edge from u to v implies that u appears before v in the topological sort order.
Parameters: - G (NetworkX digraph) – A directed acyclic graph (DAG)
- key (function, optional) – This function maps nodes to keys with which to resolve ambiguities in the sort order. Defaults to the identity function.
Returns: An iterable of node names in lexicographical topological sort order.
Return type: iterable
Raises: NetworkXError– Topological sort is defined for directed graphs only. If the graphGis undirected, aNetworkXErroris raised.NetworkXUnfeasible– IfGis not a directed acyclic graph (DAG) no topological sort exists and aNetworkXUnfeasibleexception is raised. This can also be raised ifGis changed while the returned iterator is being processedRuntimeError– IfGis changed while the returned iterator is being processed.
Notes
This algorithm is based on a description and proof in “Introduction to Algorithms: A Creative Approach” [1] .
See also
References
[1] Manber, U. (1989). Introduction to Algorithms - A Creative Approach. Addison-Wesley.