对于新算法,什么是找到正确工作的最佳方法

时间:2019-07-03 03:36:45

标签: algorithm

让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算法,但不是那种算法。因为它使用所有边缘的最大长度。但是这个问题的选择使我感到困惑。请告诉我,如何在这里找到最佳选择。

0 个答案:

没有答案