让G =(V,E)是具有n个顶点的有向图。 G中从vi到vj的路径是一个顶点序列(vi,v_ {i + 1},....,vj),使得(vk,v_k + 1)包括i到j-1中所有k的E 。简单路径是没有顶点出现一次以上的路径。
让A为一个n * n数组,初始化如下:
A[j,k] = 1 if (j,k)in E
0 otherwise
请考虑以下算法:
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 $中的哪些陈述必定正确?
1)A [j,k] <= n
2)如果A [j,j]> = n-1,则G具有哈密顿循环
3)如果存在从j到k的路径,则A [j,k]包含从j到k的最长路径长度
4)如果存在从j到k的路径,则从j到k的每个简单路径最多包含A [j,k]个边
虽然看起来像Floyd-Warshall算法,但不是那种算法。因为它使用所有边缘的最大长度。但是这个问题的选择使我感到困惑。请告诉我,如何在这里找到最佳选择。