係統粉 > 電腦問答 > 其他問答

已解決關於數據結構中一個時間複雜度的問題!

提問者:skm030603  |  瀏覽次  |  提問時間:2017-01-13  |  回答數量:7

關於數據結構中一個時間複雜度的問題!例:在下列程序段中: for(i=2;i<= n;++i) for(j=2;j<=i-1;++j) {++x;a[j]=x;} ——語句++x的執行次數關於n的增長率為n的平方,它是語句頻度表達式(n-1)(n-2)/2中增長最快的項。 對於紅色部分不是很明白,為什麼要除以2呢? ——————[s:476] 明白了~~~

已有7條答案
偽情人up

偽情人up

回答數:25  |  被采納數:84

for(i=2;i<= n;++i)
for(j=2;j<=n-1;++j)才是(n-1)(n-2)
2017-01-14 01:41:06
讚 2
墨汐夢

墨汐夢

回答數:26  |  被采納數:122

因為x在雙重循環內部 所以它的循環次數是最多的
x要循環 (n-2)*(j-1-2)次
2017-01-14 02:54:40
讚 2
橘子味的花貓

橘子味的花貓

回答數:43  |  被采納數:144

神仙姐姐~~麻煩您說的再清楚點~~~ [s:479]
你說的這個,不是跟我想的一樣嗎?難道是題目中錯了?不該除以2?
2017-01-14 04:19:59
讚 4
玩我很低嗨

玩我很低嗨

回答數:94  |  被采納數:124

i=2,3,4,,,,n-1根據等差數列求和就是
2017-01-14 08:55:44
讚 9
楊非凡啊

楊非凡啊

回答數:166  |  被采納數:86

還是不明白~~跟等差數列沒什麼關係吧~~
變量i循環了(n-1)次,變量j循環了(n-2)次,所以++x的執行次數應該是(n-1)*(n-2)呀!
題目中給出的結果是(n-1)*(n-2)/2,為什麼多了個除以2呢? [s:476]
2017-01-14 06:37:26
讚 16
一個秂的旅途

一個秂的旅途

回答數:192  |  被采納數:142

你看清楚是j<=i-1不是j<=n-1
2017-01-14 13:20:38
讚 19
大愛餘溫

大愛餘溫

回答數:134  |  被采納數:14

就這句話說到點子上了,剛看清~~~:)
2017-01-14 08:52:54
讚 13
相關問答
最新其他問答
解決方法