blob: 38313c7f022e3f1d7d71d38b1ab20febcc4c4e77 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
TSort implements topological sorting using Tarjan's algorithm for strongly
connected components.
TSort is designed to be able to be used with any object which can be interpreted
as a directed graph.
TSort requires two methods to interpret an object as a graph, tsort_each_node
and tsort_each_child:
- tsort_each_node is used to iterate for all nodes over a graph.
- tsort_each_child is used to iterate for child nodes of a given node.
The equality of nodes are defined by eql? and hash since TSort uses Hash
internally.
|