precedence graph and involve processing times (where the goal is to minimise the largest completion time amongst all the jobs). Like topological sort, Hu's algorithm is not unique and can be solved using DFS (by finding the largest path length and then assigning the jobs). See also tsort, a Unix program for topological sorting Feedback arc set, a set of edges whose removal allows the remaining subgraph to be topologically sorted Tarjan's strongly connected components algorithm, an algorithm that gives the topologically sorted list of strongly connected components in a graph Pre-topological order References Further reading D. E. Knuth, The Art of Computer Programming, Volume 1, section 2.2.3, which gives an algorithm for topological sorting of a partial ordering, and a brief history. External links NIST Dictionary of Algorithms and Data Structures: topological sort Graph algorithms Sorting algorithms Directed acyclic graphs Articles with example pseudocode