给定针对每个节点具有指定的整数分数的定向,无循环图,以最高累积分数从开头和终端顶点找到路径的快速方式?我想到了一种DFS方法,我们从最后开始并以反向方式运行图形,在每个节点上保存最佳累积分数。要打印结果,我们从第一个节点开始,并贪婪地选择具有最高累积分数的下一个节点。但是,我认为这不是最好的方式,因为我们可能会在很多次的时候遍历相同的路径。有没有更好的方法?

有帮助吗?

解决方案

提示:找到拓扑排序,对于每个顶点 $ v $ ,在拓扑排序中,计算(分数)的路径最高的路径在 $ v $

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top