算法中的步数计算方法

步数法是分析算法的一种方法。在这种方法中,我们计算一条指令的执行次数。由此,我们将尝试找到算法的复杂性。

假设我们有一种算法可以执行顺序搜索。假设每条指令将采用c1,c2,...。执行时间,然后我们将尝试找出该算法的时间复杂度

算法次数成本
seqSearch(arr, n, key)
i := 0
while i < n, do
   if arr[i] = key, then
      break
   end if
done
return i
1
n + 1
n
0/1



1
c1
c2
c3
c4



c5

现在,如果我们通过乘以执行次数来增加成本(考虑到最坏的情况),我们将得到

                  Cost= c1 +(n + 1)c 2 + nc3 + c 4 + c 5

                  Cost= c1 + nc 2 + c2 + nc 3 + c 4 + c5

                  Cost= n(c 2 + c3)+ c 1 + c 4 + c5

                  Cost= n(c 2 + c3)+ C

考虑到c1 + c4 + c5为C,因此最终方程类似于直线y = mx + b。因此,我们可以说该函数是线性的。复杂度将为O(n)。

以上是 算法中的步数计算方法 的全部内容, 来源链接: utcz.com/z/337973.html

回到顶部