2016-10-24 10 views

答えて

1

外側ループ:iは1からsqrt(n)になります。 内部ループ:j、zは3になります^(sqrt(n));

"いくつかのコードは、" 1 + 3 + 3^2 + ... + 3 ^(SQRT(N))回

let sum = 1 + 3 + 3^2 + ... + 3^(sqrt(n)) 
sum - 3*sum = 1 - 3(sqrt(n) + 1) 
sum = 1 - 3(sqrt(n) + 1)/(1-3) = 2(3^(sqrt(n)+1) - 1) 

2(3 ^(SQRT(N)+1)を実行します

enter image description here: - 1)< < O(3^SQRT(N))

Oあなたは、Sigma表記にこの方法を使用して、問題に近づくことができた(3^SQRT(n)は)より正確な

+0

'3^sqrt(n)'は、外部ループの最後の反復の実行時間であり、実行全体ではありません。 – mangusta

+0

私が提供したシリーズの合計について、より正確な答えを提供することを歓迎します。確かにO(3^n)ではありません。 – softwarenewbie7331

+0

いいえ、あなたの複雑さは正しいです、幾何学的な進行の合計は依然としてO(3^sqrt(n))である 'b1 *(q^n-1)/(q-1)、q =不便をおかけして申し訳ありません。 – mangusta

1

あります

関連する問題