我很困惑如何創建函數T(n)來測量嵌套無限循環的計算時間。下面是代碼:計算時間T(n)和帶有無限循環的Big-O
x=1;
for(int i = 0;i<n-1;i++){
for(int j = 1; j<=x; j++){
cout << j << endl;
x*=2;
}
}
所以內循環將永遠繼續下去,而且我堅持努力打造代表其計算時間的函數。我寫過它的計算時間是T(n)= [Summation i = 0直到(n-2)](2^j)。 2^j表示內部循環中x的當前值爲j的值。在和我的同事討論這個問題之後,我們絕對同意計算時間肯定不取決於n的值。由於循環是無限的,我們也可能會完全過度考慮這一點,並且根本無法表達其計算時間。任何幫助是極大的讚賞。
我徹底糊塗了。你想要一個無限循環的運行時間?這是無限的。順便說一句,外環是無關緊要的,因爲內環永遠不會完成。另外,它在實踐中可能不是無限的,因爲如果它是一個整數類型,x將最終包裝。 –
時間複雜度僅對終止的算法有意義。 –
是的,我知道外部循環是無關的,是的,我知道設計一個這樣的計算算法是沒有意義的,但我需要嘗試:) – whittenc