詳細を知りたい、またはこれについて助けが必要な人のために、Recurseの回答とフォローアップコメントを拡張します
k-1
最後の配列は何もマージされていないため、マージのみが必要です
- 算術数列の項を合計する式は役に立ちます。
Sn=n(a1 + an)2
k
配列とn
要素の最初の 4 つのマージをステップスルーする
+-------+-------------------+-------------+
| Merge | Size of new array | Note |
+-------+-------------------+-------------+
| 1 | n+n = 2n | first merge |
| 2 | 2n+n = 3n | |
| 3 | 3n+n = 4n | |
| 4 | 4n+n = 5n | |
| k-1 | (k-1)n+n = kn | last merge |
+-------+-------------------+-------------+
平均サイズを見つけるには、すべてのサイズを合計し、マージ数で割る必要があります ( k-1
)。n
最初の項を合計する式 を使用するとSn=n(a1 + an)2
、必要なのは最初と最後の項だけです。
- a1 =
2n
(第 1 項)
- an =
kn
(最終項)
すべての項をそのように合計したいn=k-1
(項の数)。数値を差し込むと、すべての項の合計の式が得られます
Sn = ( (k-1)(2n+kn) )/2
ただし、平均サイズを見つけるには、用語の数 ( ) で割る必要がありk-1
ます。これにより、分子の がキャンセルされk-1
、平均サイズが残ります。
(2n + kn)/2
これで平均サイズがわかったので、これにマージ数を掛けることができk-1
ます。乗算を簡単にするために、/2
を無視して、分子を乗算するだけです。
(k-1)(2n+kn)
= (k^2)n + kn - 2n
この時点で、 を再導入できますが/2
、支配的な用語が(k^2)*n