Топологическая сортировка, чтобы найти количество путей к т

Мне нужно разработать алгоритм O (| V | + | E |), связанный с топологической сортировкой, который в ориентированном ациклическом графе (DAG) определяет число путей от каждой вершины графа до t (t - это узел с out-степень 0). Я разработал модификацию DFS следующим образом:

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

Но я не уверен, связан ли этот алгоритм с топологической сортировкой или я должен реструктурировать свою работу с другой точки зрения.

Ответы на вопрос(1)

Ваш ответ на вопрос