What algorithm can be used to find the longest path in an unweighted directed acyclic graph?
Can be solved by critical path method:
1. find a topological ordering
2. find the critical path
see [Horowitz 1995], Fundamentals of Data Structures in C++, Computer Science Press, New York.
Greedy strategy(e.g. Dijkstra) will not work, no matter:1. use "max" instead of "min" 2. convert positive weights to negative 3. give a very large number M and use M-w as weight.