Sai*_*ira 11 algorithm graph-theory
我想找到DAG中两个节点之间的路径数.O(V ^ 2)和O(V + E)是可接受的.
O(V + E)提醒我以某种方式使用BFS或DFS,但我不知道如何.有人可以帮忙吗?
从节点u到v的不同路径的数量是从节点x到v的不同路径的总和,其中x是u的直接后代.
存储每个节点的目标节点v的路径数(临时设置为0),使用相反的方向从v(此处值为1)开始,并为每个节点重新计算此值(将所有后代的值相加),直到达到ü.
如果以拓扑顺序处理节点(再次相反方向),则可以保证在访问给定节点时已经计算了所有直接后代.
希望能帮助到你.