从源到目的地的步行次数
给定一个图和两个顶点 src 和 dest,计算从 src 到 dest 的路径的总数,其中路径的长度为 k(它们之间应该正好有 k 个边)。请注意,该图表示为邻接矩阵。
例如,考虑下图:
从顶点 0 到长度为 2 的顶点 3 的路径数为 2({0->1->3} 和 {0->2->3})。
我们已经讨论过一种 O(V 3 K) 方法来计算从源到目的地的所有可能步行,并且恰好有 k 条边。在这篇文章中,讨论了 O(V 3 Log K) 方法。
方法:这个想法是计算结果矩阵,其中result = (graph) k 。从源到长度为 k 的目的地的路径总数将是简单的result[src][dest] 。我们使用这种技术来计算给定图的邻接矩阵的幂。
此处用于指数 = 7 的幂函数的递归树如下所示:
下面是上述方法的实现:
输出:
Total number of walks: 2
时间复杂度: