こんにちは、私はこの質問を持って、この関数の実行時に分析することはできませんが、私は間違って持って、私はちょうどこれを理解していません。 これは、このネストされたループの正確なランタイムを取得しようとしています。
具体的には、「for i = 2、inner loop runtime:2n-2」まで理解できます。しかしその後、私は理解できません。
質問1)
まず、それはFor i=n, inner loop runtime is n+1
を言います。しかし、これは私の見解からはわかりません。 j = 3 = n < 2 * n = 2 * 3 = 6なので、n = 3とし、i = 3のときに外側ループが最後のループを実行すると、jは3回(3から5まで)内部ループを実行します。しかし、答えはinner loop runtime is n+1
と書いてありますが、n+1
に3を入れると4倍になります。なぜこの答えが正しいのか分かりません。
質問2)
がどのように私は答え2n+(2n-1)+(2n-2)+...+(n+1)
から
1.5n^2 + 0.5n
の最後のフォームを得ることができますか?どのように前者が数学的にどのようになるのか全体的なステップを教えてくれますか?具体的にどのように
2n + (2n-1) + (2n-2) + ... + (n+1)
n*n + (1+2+3+...+n)
になるのですか?私は式が
n=(n+1)
とここで使用されていると思うが、それは私にとっては役に立たない。
ここには数式はありますか?
を参照してください。これは理解する方がはるかに簡単です最初の和を 'n +(n + 1)+(n + 2)+ ... +(n + n)'と書くと、次のステップにどのように到達するかがはっきりしているはずです。 – Dukeling