資料結構中單個數組中的多個列表


當陣列儲存隨時間變化的資料時,陣列表示本質上浪費了空間。為了儲存一些資料,我們分配了一些足夠大的空間來在陣列中儲存多個值。假設我們使用陣列加倍標準來增加陣列的大小。

假設當前陣列大小為 8192。它已滿。因此,我們需要使用陣列加倍技術來增加它。因此,新陣列的大小將為 16384。然後將舊陣列中的 8192 個元素複製到新陣列中,然後釋放舊陣列。現在我們可以意識到,在釋放舊陣列的空間之前,陣列大小是 8192 的三倍。新的雙倍大小的陣列和舊陣列。這不是一個很好的方法。

當我們想要儲存多個列表時,我們可以共享一些更大的陣列,而不是為新列表建立新的陣列。單個數組中的多個列表將如下所示:

雖然單個數組中的多個列表在記憶體方面效率更高,但它也存在一些問題。這裡的插入操作成本更高。因為可能需要移動屬於其他列表的元素才能在當前列表中插入某些元素。並且表示也更難實現。

更新於: 2020年8月11日

576 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告