Too Long; Didn't Read
Topological sorting refers to the linear ordering of vertices in a graph such that for every edge ab, of a to b, a, always comes before b. There are two possible topological sort orders for this graph which would be: 1, 0, 2, 3, 4 or 0, 1, 4. Rust uses the depth-first search to sort the order of a directed acyclic graph. The get_topological_order method basically stores the order in a stack (LIFO)