tarjan

wield.control.ss_bare.tarjan

Functions

find_sccs(graph)

Takes a dictionary of nodes (can be anything) that map to a list of nodes.

find_sccs_matrix(matrix)

Takes a matrix.

Details

find_sccs(graph: dict[any, list[any]])[source][github]

Takes a dictionary of nodes (can be anything) that map to a list of nodes. The list represents the outgoing edges.

returns: list[list[any]]

The algorithm returns a list of lists of nodes. The outer list is topologically sorted and the inner list are groups of strongly-connected components.

find_sccs_matrix(matrix: array)[source][github]

Takes a matrix. Nonzero elements represent edges.

returns: list[list[int]]

The algorithm returns a list of lists of columns. The outer list is topologically sorted and the inner list are groups of strongly-connected components of the edges given by the matrix.