一、什麼是數據結構
- 數據
數據即信息的載體,是能夠輸入到計算機中並且能被計算機識別、存儲和處理的符號總稱。 - 數據元素
數據元素是數據的基本單位,又稱之爲記錄(Record)。一般,數據元素由若干基本項(或稱字段、域、屬性)組成。 - 數據結構
數據結構指的是數據元素及數據元素之間的相互關係,或組織數據的形式。
二、數據之間的結構關係
-
邏輯結構
表示數據之間的抽象關係(如鄰接關係、從屬關係等),按每個元素可能具有的直接前趨數和直接後繼數將邏輯結構分爲“線性結構”和“非線性結構”兩大類。 -
存儲結構
邏輯結構在計算機中的具體實現方法,分爲順序存儲方法、鏈接存儲方法、索引存儲方法、散列存儲方法。
三、邏輯結構(關係)
- 特點
- 只是描述數據結構中數據元素之間的聯繫規律
- 是從具體問題中抽象出來的數學模型,是獨立於計算機存儲器的(與機器無關)
- 邏輯結構的分類
-
線性結構
對於數據結構課程而言,簡單地說,線性結構是n個數據元素的有序(次序)集合。集合中必存在唯一的一個"第一個元素";
集合中必存在唯一的一個"最後的元素";
除最後元素之外,其它數據元素均有唯一的"後繼";
除第一元素之外,其它數據元素均有唯一的"前驅"。 -
樹形結構(層次結構)
樹形結構指的是數據元素之間存在着“一對多”的樹形關係的數據結構,是一類重要的非線性數據結構。在樹形結構中,樹根結點沒有前驅結點,其餘每個結點有且只有一個前驅結點。葉子結點沒有後續結點,其餘每個結點的後續節點數可以是一個也可以是多個。 -
圖狀結構(網狀結構)
圖是一種比較複雜的數據結構。在圖結構中任意兩個元素之間都可能有關係,也就是說這是一種多對多的關係。 -
其他結構
除了以上幾種常見的邏輯結構外,數據結構中還包含其他的結構,比如集合等。有時根據實際情況抽象的模型不止是簡單的某一種,也可能擁有更多的特徵。
四、存儲結構(關係)
- 特點
- 是數據的邏輯結構在計算機存儲器中的映象(或表示)
- 存儲結構是通過計算機程序來實現的,因而是依賴於具體的計算機語言的。
- 存儲結構分類
-
順序存儲
順序存儲(Sequential Storage):將數據結構中各元素按照其邏輯順序存放於存儲器一片連續的存儲空間中。 -
鏈式存儲
鏈式存儲(Linked Storage):將數據結構中各元素分佈到存儲器的不同點,用記錄下一個結點位置的方式建立它們之間的聯繫,由此得到的存儲結構爲鏈式存儲結構。 -
索引存儲
索引存儲(Indexed Storage):在存儲數據的同時,建立一個附加的索引表,即索引存儲結構=數據文件+索引表。