算法问题: 是否存在可行路线问题

如果对于一个图有很多次询问可以用floyd算法O(n^3)预处理出所有的答案。如果对于一个图只有少数询问,可以用npbool说的BFS算法,是O(n+m)的。(暂时只想到了一个针对多次询问的优化:如果某次计算结束后,已知A-\u0026gt;B存在可行路径就增加一条A-\u0026gt;B的边。不过感觉这个优化可能没什么明显效果 = =!)
■网友
我想到的一个优化是:可以用tarjan算法缩点,使得原图变成一个DAG,不过复杂度貌似不变。。。
■网友
BFS
■网友
好多人都说了,就是 BFS,我就给段 Javascript 的代码吧:mp = , , , , , , , , , , , , , , , , , , ]is_conn = function(mp, a, b) { var v = , l = , h = 0 v = true while (h \u0026lt; l.length) { var c = l; h++ for (var i = 0; i \u0026lt; mp.length; i++) { var n = mp if (n == b) { return true } else if (!v) { l.push(n) v = true } } } return false}is_conn(mp, 1, 2)
■网友
Q-learning?
■网友
计算邻接矩阵的n次方就可以了。或者用Dijkstra算法也可以。
■网友
BFS +1


    推荐阅读