1. 程式人生 > >計算機儲存簡單理解

計算機儲存簡單理解

計算機的儲存大體上分為兩種型別:陣列和連結串列,但是各有利弊,很難說哪一個更優越

陣列:陣列儲存,所有的資料都會在一起,資料型別必須一致,知道其中一個就能根據地址推理出其他的,讀取不必按照順序,所以讀寫速度很快,但是以為要為增加的資料預留記憶體空間,所以會造成記憶體的浪費。讀寫操作較多時,可以採用這種各型別。插入和刪除中間的某一個數據時,其後面的資料儲存都會跟著發生變動,儲存記憶體不足時,整個陣列都有可能變動。

連結串列結構:資料是根據記憶體使用情況分散儲存的,前後兩個資料根據儲存地址進行連線,即是說將下一個資料的儲存地址放在上一個資料的儲存單元裡,彼此之間按照順序連線,必須按照順序進行讀取,也就是說,如果要讀取最後一個數據,必須要讀取前面所有的資料才可以,但是連結串列結構在插入資料和刪除資料操作上比較有優勢,只需要改變要插入的資料前後的資料儲存就行了。

綜合來說,陣列儲存對記憶體空間要求較高,但是讀寫較快,連結串列結構,讀取比較複雜。可以根據實際情況來選擇具體的儲存方式,也可以兼備二者的特點組合使用,facebook就是結合兩者的有點進行 操作的。

小結  計算機記憶體猶如一大堆抽屜。  需要儲存多個元素時,可使用陣列或連結串列。  陣列的元素都在一起。  連結串列的元素是分開的,其中每個元素都儲存了下一個元素的地址。  陣列的讀取速度很快。  連結串列的插入和刪除速度很快。  在同一個陣列中,所有元素的型別都必須相同(都為int、double等)。