考慮下面的代碼片段:懷疑與時間複雜性有關!
for(i = n-1; i >= 0; i--)
{
if(str[i] == ' ')
{
i += 2; // I am just incrementing it by 2, so that i can retrieve i+1
continue;
}
// rest of the code with many similar increments of i
}
說假設循環永遠不會變成成無窮大,如果說我有很多這樣的遞增和遞減循環遍歷,我可以肯定的複雜性就不會是爲了N或N廣場。但是,這種解決方案是否存在廣義的複雜性?
P.S:我知道它了最糟糕的代碼,但還是想給它一個嘗試:-)
因此,我們假設'i'在修改循環的下半部分呢? – Eric
我看不到你的完整代碼,但我很確定你不能確定運行時間*不在'Theta(N)'中。 – phimuemue
如果字符串中的第一個字符是空格,那麼您需要索引超出數組的範圍。因此,你的程序需要無限的時間來完成算法,因爲它被迫中止! – Eric