官术网_书友最值得收藏!

1.2.4 數據的邏輯結構

數據的邏輯結構是從邏輯關系(主要是指相鄰關系)上描述數據的,它與數據的存儲無關,是獨立于計算機的。因此,數據的邏輯結構可以看作是從具體問題抽象出來的數學模型。在不會產生混淆的前提下,常將數據的邏輯結構簡稱為數據結構。數據的邏輯結構主要分為以下幾類。

微課1-1 數據的邏輯結構

1. 集合

集合是指數據元素之間除了“同屬于一個集合”的關系,別無其他關系。

2. 線性結構

線性結構是指該結構中的結點之間存在一對一的關系,其特點是開始結點和終端結點都是唯一的。除了開始結點和終端結點,其余結點都有且僅有一個直接前驅,有且僅有一個直接后繼。順序表就是一種典型的線性結構。

3. 樹形結構

樹形結構是指該結構中結點之間存在一對多的關系,其特點是每個結點最多只有一個直接前驅,但可以有多個直接后繼,可以有多個終端結點。二叉樹就是一種典型的樹形結構。

4. 圖形結構

圖形結構或稱為網狀結構,是指該結構中的結點之間存在多對多的關系,其特點是每個結點的直接前驅和直接后繼的個數都可以是任意的。因此,圖形結構可能沒有開始結點和終端結點,也可能有多個開始結點和多個終端結點。

樹形結構和圖形結構統稱為非線性結構,該結構中的結點之間存在一對多或多對多的關系。由線性結構、樹形結構和圖形結構的定義可知,線性結構是樹形結構的特殊情況,而樹形結構又是圖形結構的特殊情況,以上各類結構對應的示例如圖1-2所示。

圖1-2 4類基本數據結構

例1-2 有數據結構B1=(D, R),其中:

D = {a, b, c, d, e, f, g, h, i, j}

R = {r}

r = {(a, b), (a, c), (a, d), (b, e), (c, f), (c, g), (d, h), (d, i), (d, j)}

畫出其邏輯結構。

 對應B1的邏輯結構如圖1-3所示。從該例中可以看出,每個結點有且僅有一個直接前驅(除根結點外),但有多個直接后繼(葉子結點可看作具有0個直接后繼)。這種數據結構的特點是數據元素之間的關系為一對多關系,即層次關系,因此是一種樹形結構。

圖1-3 對應B1的邏輯結構

例1-3 有數據結構B2=(D, R),其中:

D = {a, b, c, d, e}

R = {r}

r = {(a, b), (a, c), (b, c), (c, d), (c, e), (d, e)}

畫出其邏輯結構。

 對應B2的邏輯結構如圖1-4所示。從該例中看出,每個結點可以有多個直接前驅和多個直接后繼。這種數據結構的特點是數據元素之間的關系為多對多關系,即圖形關系,因此是一種圖形結構。

圖1-4 對應B2的邏輯結構

主站蜘蛛池模板: 绥阳县| 科技| 孟州市| 嫩江县| 彭泽县| 罗江县| 庆城县| 宜兰市| 教育| 集安市| 临泉县| 神木县| 车险| 台中县| 万盛区| 土默特右旗| 新乡县| 杭锦旗| 南陵县| 密云县| 吉木萨尔县| 延安市| 古浪县| 遂溪县| 义乌市| 牡丹江市| 武强县| 府谷县| 靖远县| 横山县| 信宜市| 巨鹿县| 获嘉县| 阳城县| 宾川县| 长汀县| 罗江县| 大同市| 万山特区| 吉安县| 那曲县|