我不是在寻找答案,而是如何找到以下问题的最坏/最佳情况(以θ表示法); for循环通常是(theta(n)),这将是最好的和最坏的情况,但我认为其他的东西在这里发生。任何帮助将不胜感激。
Input: x (an integer), n (an integer)
addOnes(x, n) {
if x > n then
for i <- 1 to n
return x + n
else
for i <- x to n
x <- x + n
return x
编辑答案:
由于返回x + n,常数(theta(1))将是最佳的。
最佳=(theta(1)) 最差=(theta(n))
答案 0 :(得分:0)
有两个分支,都可以访问。为了找到总体上的最佳和最差情况复杂度,找到每个循环的最佳和最差情况复杂度,那么总体上最佳情况复杂度对于两个分支的最佳情况复杂性更好。类似于最坏情况的复杂性。
,天真地为了绊倒而在问题中建立了一个小问题