當前位置:係統粉 > 電腦問答 > 其他問答 > 關於數據結構中一個時間複雜度的問題!

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

提問者: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

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

墨汐夢

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

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

橘子味的花貓

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

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

玩我很低嗨

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

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

楊非凡啊

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

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

一個秂的旅途

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

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

大愛餘溫

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

2017-01-14 08:52:54
就這句話說到點子上了,剛看清~~~:)
讚 13
解決方法
版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航