數據結構的形式定義、數據的邏輯結構、數據的存儲結構

數據結構的形式定義: 數據結構是一個二元組Data_Structures=(D, S),其中,D是數據元素的有限集,S是D上關係的有限集。
說明: 數據結構的定義只說明了數據結構的一個方面,強調的是數據元素之間的邏輯關係。由於數據結構是計算機操作的對象,因此它還有另外一個很重要的方面,就是數據的存儲結構,即怎麼在計算機中表示出數據的邏輯結構。

數據的邏輯結構: 即數據元素之間的關係,分爲4類:

1.線性結構
在這裏插入圖片描述
實質上是一個序列。

2.樹形結構
在這裏插入圖片描述
像一個樹,一個根可以開展出多個分支。

3.圖狀結構
在這裏插入圖片描述
4.集合結構
在這裏插入圖片描述
這裏集合的概念與數學中集合的概念是相同的。集合結構中數據元素之間不存在任何關係,但是從某種意義上來說,也是一種關係。

數據的存儲結構: 邏輯結構在存儲器中的映像,或者說,邏輯結構在計算機中的表示。
要想實現邏輯結構在計算機中的表示,應該從數據結構的定義考慮,分別考慮 數據元素的映像方法 關係的映像方法
【數據元素的映像方法】
用二進制位(bit)的位串來表示數據元素。
比如: (321)10可以用(101000001)2來表示,A可以用(001000001)2來表示。當然,在這裏用的是ASCII碼。
【關係的映像方法】
所有的關係都可以用一個有序對<x, y>來表示,所以,可以把這個有序對<x, y>看作是關係的基本單位。關係的映像方法就是表示有序對<x, y>的方法。
有序對<x, y>在計算機中有2種表示方法:

1.順序映像
以存儲位置的相鄰來表示後繼關係,簡單來說,對於有序對<x, y>,y的存儲位置和x的存儲位置差一個常量C(C爲正,且C是一個隱含值)。
對於順序映像,整個數據結構只含數據元素本身的信息,沒有其他附加的信息。
比如:
對於線性結構(a1, a2, a3),其存儲結構如下:
在這裏插入圖片描述
2.鏈式映像(非順序映像)
在整個結構中,有序對<x, y>中x和y的存儲位置之間沒有固定的關係,即它們的存儲位置是隨意的,這時x和y的後繼關係就需要用一個附加信息(指針)來表示。
這個附加信息需要與x綁定在一起,換句話說,這個數據元素x的存儲映像是一個節點,這個節點包含兩部分信息:一部分信息是數據元素x的映像,另一部分信息是指向後繼元素的指針。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章