動的配列のサイズ変更に関する質問(ArrayList ADTの一部として)が私を困惑させました。ダイナミック配列リサイズの償却解析
テキストは、要素が配列の最後に追加されるシナリオを設定します。配列がその容量に達すると、そのサイズは倍になります。新しい大きな配列は、古い配列の要素で初期化されます。このプロセスの償却分析は、O(n)の複雑さをもたらす。
は、その後、次の質問が尋ねられる:容量Nのアレイが、代わりに容量の2Nの配列にN個の要素をコピーするいっぱいになると、それらはN/4の配列にコピーされ
追加のセル、すなわち容量のアレイ(N + N/4)。 へのn個の追加シーケンスを実行すると、配列は依然としてO(n)で実行されることを示します。
どのようなヒント、この質問にアプローチする上での助けが大歓迎です。私は、フル・キャパシティのアレイが現在のサイズの倍数ではなく、そのサイズのほんの少しだけサイズが増えているという事実をどう扱うべきか分かりません。
私は質問から次のメタコメントを切り詰めました:*この質問は、それがダウン投票された後の明快さを改善するために編集されました。ここに初めて投稿する辛抱強く/助けてください!*。 – halfer