title: Topological sort to find the number of paths to t
body: <p>I have to develop an O(|V|+|E|) algorithm related to topological sort which, in a directed acyclic graph (DAG), determines the number of paths from each vertex of the graph to t (t is a node with out-degree 0). I have developed a modification of DFS as follow:</p>
  
  <pre><code>DFS(G,t):
      for each vertex u ∈ V do
          color(u) = WHITE
          paths_to_t(u) = 0
      for each vertex u ∈ V do
          if color(u) == WHITE then
              DFS-Visit(u,t)
  
  DFS-Visit(u,t):
      color(u) = GREY
      for each v ∈ neighbors(u) do
          if v == t then
              paths_to_t(u) = paths_to_t(u) + 1
          else then
              if color(v) == WHITE then
                  DFS-Visit(v)
              paths_to_t(u) = paths_to_t(u) + paths_to_t(v)
      color(u) = BLACK
  </code></pre>
  
  <p>But I am not sure if this algorithm is related to topological sort or if should I restructure my work with another point of view. </p>