如何计算两点之间路径的条数?
picture1里面有两个点(1,1)和(10,10),从(1,1)开始,规定只能向正右或向正下,或者向右下运动一个点,求一共有多少种路径可以运动到(10,10)
[解决办法]
归纳:
f(m,n) = f(m-1,n) + f(m,n-1)
f(m,0) = 1
f(0,n) = 1
典型的递归算法
Function f(ByVal m As Long, ByVal n As Long) As Long If (m = 0) Or (n = 0) Then f = 1 Exit Function End If f = f(m - 1, n) + f(m, n - 1)End Function
[解决办法]
这是经典的图论问题,采用Dijkstra算法和Floyd算法。