To find the longest path in a DAG, I\'m aware of 2 algorithms: algo 1: do a topological sort + use dynamic programming on the result of the sort ~ or ~ algo 2: enumerate all
No DFS needed. Algorithm : takes a DAG G. Each arc holds one variable E
for each node with no predecessor :
for each of his leaving arcs, E=1.
for each node whose predecessors have all been visited :
for each of his leaving arcs, E=max(E(entering arcs))+1.
max_path is the highest E within edges when all nodes have been processed.