算法中的步数计算方法
步数法是分析算法的一种方法。在这种方法中,我们计算一条指令的执行次数。由此,我们将尝试找到算法的复杂性。
假设我们有一种算法可以执行顺序搜索。假设每条指令将采用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