C語言算法的時(shí)間復(fù)雜度如何計(jì)算???
1 回答

SMILET
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
看看這個(gè) 每個(gè)循環(huán)都和上一層循環(huán)的參數(shù)有關(guān)。 所以要用地推公式: 設(shè)i(n)表示第一層循環(huán)的i為n時(shí)的循環(huán)次數(shù),注意到他的下一層循環(huán)次數(shù)剛好就是n,分別是0,1,2...n-1 所以,把每一層循環(huán)設(shè)一個(gè)函數(shù)分別為:j(n),k(n),t(n) 則有 i(n)=j(0)+...+j(n-1) j(n)=k(0)+...+k(n-1) k(n)=t(0)+...+t(n-1) i(0)=j(0)=k(0)=0 t(n)=1 而總循環(huán)數(shù)是i(0)+i(1)...+i(n-1) 可以根據(jù)遞推條件得出準(zhǔn)確值 所以算法復(fù)雜度是O(i(0)+i(1)...+i(n-1))
- 1 回答
- 0 關(guān)注
- 1002 瀏覽
添加回答
舉報(bào)
0/150
提交
取消