📅  最后修改于: 2020-12-10 06:32:27             🧑  作者: Mango
我们将使用table来构建最佳解决方案。
步骤1:构建最佳解决方案:
分析:有三个嵌套循环。每个循环最多执行n次。
主体循环常数复杂度
总复杂度为:O(n 3 )
问题:P [7、1、5、4、2}
解决方案:在这里,P是矩阵维的数组。
因此,这里将有4个矩阵:
步骤1:
现在,根据算法的步骤2
for i ← 1 to n
this means: for i ← 1 to 4 (because n =4)
for i=1
m [i, i]=0
m [1, 1]=0
Similarly for i = 2, 3, 4
m [2, 2] = m [3,3] = m [4,4] = 0
i.e. fill all the diagonal entries "0" in the table m
Now,
l ← 2 to n
l ← 2 to 4 (because n =4 )
情况1:
1.当l-2
2.我仍然是2
3.现在我变成了3
情况2: l变成3
现在,我们比较k = 1和k = 2的值。两个中的最小值将分别放在m [i,j]或s [i,j]中。
现在从上面
在这里,还找到k = 2和k = 3的两个值的m [i,j]的最小值
But 28 < ∞
So m [i,j] ← q
And q ← 28
m [2, 4] ← 28
and s [2, 4] ← 3
i.e. It means in s table at s [2,4] insert 3 and at m [2,4] insert 28.
情况3: l变为4
因此不会发生任何变化。因此m [1,4]的值保持为42。s [1,4]的值= 1
现在,我们将仅使用s表来获得最佳解决方案。