我的导师教我们如何计算算法的计算复杂度,但她只是非常简短而且不那么好。更具体地说,有人可以帮助我计算以下计算复杂性:
While (PLength > 0)
chartest = sHex(i)
ascvalue = Strings.Asc(chartest)
decvalue = Convert.ToDecimal(ascvalue)
shiftdecvalue = decvalue + 1
asc = ChrW(shiftdecvalue)
emptychararray(i) = asc
i = i + 1
PLength = PLength - 1
End While
他们一直在思考它,它恰好是T(n)= C_1 * n + C_2 *(n-1)+ C_3 *(n-1)+ C_4 *(n- 1)+ C_5 *(N-1)+ C_6 *(N-1)+ C_7 *(N-1)+ C_8 *(N-1)+ C_9 *(N-1)+ C_10 *(N-1)
但我觉得我可能会过度简化它。此外,我如何得到这个大O符号?我一直在网上寻找有关如何自学这方面的资源,所以如果您有任何建议,我们将非常感激。先感谢您。
答案 0 :(得分:0)
首先请注意,T(n)可以重写为T(n) = C1 * n + C2
。然后请注意,大O表示法忽略常量,因此复杂度为O(n)
。