令G(V,E)是具有n个顶点的有向图。 G中从v i到v j的路径是顶点序列(v i ,v i + 1 ,……。,v j ),使得(vk,v k + 1 )∈对于i到j到i中的所有k,E均为1。简单路径是没有一个顶点出现一次以上的路径。
设A为初始化如下的nxn数组
考虑以下算法。
for i = 1 to n
for j = 1 to n
for k = 1 to n
A [j , k] = max (A[j, k] (A[j, i] + A [i, k]);
对于上述算法结束后的所有j和k,下列哪个陈述必须正确?
(A) A [j,k]≤n
(B)如果A [j,k]≥n – 1,则G具有哈密顿环
(C)如果存在从j到k的路径,则A [j,k]包含从j到k的最长路径透镜
(D)如果存在从j到k的路径,则从j到k的每个简单路径都包含大多数A [j,k]边答案: (D)
解释:
In the original input matrix, A[j , k] is 1 if there
is an edge from j to k, else 0.
Below expression is important to note:
A[j , k] = max(A[j, k] (A[j, i] + A [i, k]);
This expression puts the count of maximum edges on a path from
j to k. In this expression, we consider every vertex k that can
become an intermediate vertex and can give longer path.
这个问题的测验