1. 程式人生 > >資料結構知識點--儲存結構與邏輯結構

資料結構知識點--儲存結構與邏輯結構

1. 資料的邏輯結構

邏輯結構是指資料元素之間的邏輯關係,即從邏輯關係上描述資料。它與資料的儲存無關,是獨立於計算機的。資料的邏輯結構分為線性結構和非線性結構,線性表是典型的線性結構;集合、樹和圖是典型的非線性結構。資料的邏輯結構分類見圖1-1。

  • 集合結構中的資料元素之間除了 “同屬於一個集合”的關係外,別無其他關係。
  • 線性結構結構中的資料元素之間只存在一對一的關係。
  • 樹形結構結構中的資料元素之間存在一對多的關係。
  • 圖狀結構或網狀結構結構中的資料元素之間存在多對多的關係。

 

 



圖1-1  資料的邏輯結構分類圖

2. 資料的儲存結構

儲存結構是指資料結構在計算機中的表示(又稱映像),也稱物理結構。它包括資料元素的表示和關係的表示。資料的儲存結構是邏輯結構用計算機語言的實現,它依賴於計算機語言。資料的儲存結構主要有:順序儲存、鏈式儲存、索引儲存和雜湊儲存。

1) 順序儲存:把邏輯上相鄰的元素儲存在物理位置上也相鄰的儲存單元裡,元素之間的關係由儲存單元的鄰接關係來體現。其優點是可以實現隨機存取,每個元素佔用最少的儲存空間;缺點是隻能使用相鄰的一整塊儲存單元,因此可能產生較多的外部碎片。

2) 連結儲存:不要求邏輯上相鄰的元素在物理位置上也相鄰,藉助指示元素儲存地址的指標表示元素之間的邏輯關係。其優點是不會出現碎片現象,充分利用所有儲存單元;缺點是每個元素因儲存指標而佔用額外的儲存空間,並且只能實現順序存取。

3) 索引儲存:在儲存元素資訊的同時,還建立附加的索引表。索引表中的每一項稱為索引項,索引項的一般形式是:(關鍵字,地址)。其優點是檢索速度快;缺點是增加了附加的索引表,會佔用較多的儲存空間。另外,在增加和刪除資料時要修改索引表,因而會花費較多的時間。

4) 雜湊儲存:根據元素的關鍵字直接計算出該元素的儲存地址,又稱為Hash儲存。其優點是檢索、增加和刪除結點的操作都很快;缺點是如果雜湊函式不好可能出現元素儲存單元的衝突,而解決衝突會增加時間和空間開銷。

3. 資料的運算

施加在資料上的運算包括運算的定義和實現。運算的定義是針對邏輯結構的,指出運算的功能;運算的實現是針對儲存結構的,指出運算的具體操作步