調整動態數組大小的問題(作爲ArrayList ADT的一部分)讓我難以置信。動態數組調整大小的分期分析
該文本設置了元素添加到數組末尾的場景。當陣列達到其容量時,其尺寸加倍。新的較大數組使用舊數組的元素進行初始化。該過程的分期分析給出了O(n)的複雜性。
那麼下面提出問題:
當容量n中的陣列是滿的,而不是複製N個元素到容量2N的陣列,它們被複制到具有N/4的陣列額外的小區,即容量陣列(N + N/4)。顯示在 上執行n個添加序列,數組仍然以O(n)運行。
任何提示,如何解決這個問題的幫助,非常感謝。我不知道如何處理這樣一個事實,即全容量陣列的尺寸只增加其當前尺寸的一小部分,而不是當前尺寸的倍數。
我已經修正了以下元評論的問題:*此問題已被編輯,以便在投票後進行嘗試並提高清晰度。第一次在這裏發佈。請耐心等待!*。 – halfer