Finding shortest path for DAG using dynamic programming vs topological sort? Why is it that when I read about finding the shortest path for a DAG I usually just hear about topological sort? Why not use dynamic programming where the shortest path to a vertex is simply the minimum of all vertices that have a path to it?
To use dynamic programming, you need to choose the order in which you fill in values for the vertices.  The correct order is a topologically sorted order (any other order won't work).  So, the two solutions are in some sense equivalent.  Any solution is likely to use both components: topological sorting to determine the order to enumerate the vertices, and something like dynamic programming to fill in the value at each vertex.