第5課 - 線性表的本質
數據結構是為了解決生活中的實際問題而存在的,那生活中與線性表相對應的例子有什么呢?
幼兒園中就有一個例子,在老師安排小朋友活動時,會將小朋友組織成下面的站隊形式,這個就是線性表。
1. 線性表的定義
(1)線性表是0個或多個數據元素的集合
(2)線性表中的數據元素之間是有順序的,這一點非常重要
(3)線性表中的數據元素的個數是有限的,這和實際生活相符(在數學中,線性表的個數可以是無限的)
(4)線性表中的數據元素的類型必須相同
2. 線性表的性質
(1)a0?為線性表的第一個元素,只有一個后繼元素
(2)an?為線性表的最后一個元素,只有一個前驅元素
(3)除a0?和?an?外的其它元素 ai,既有前驅元素,又有后繼元素
(4)線性表能夠逐項訪問和順序存取
3. 線性表的深度理解
下面的關系中可以用線性表描述的是:
? A. 班級中同學的友誼關系? ??
不滿足上面線性表定義中的第 2 條,友誼關系并非是順序排列的。
? B. 公司中的上下級關系? ???
不滿足上面線性表定義中的第 2 條,不是順序排列,每個人只有一個直接領導,但是可能有多個下級。。。
? C. 冬天圖書館排隊占座關系? ??
可能有同學用書包給同學占位,這個不符合上面線性表定義中的第 4 條,數據元素類型不同(書包和人不同)。
? D. 花名冊上名字之間的關系? ??
符合線性表的定義。
? E. 一年里的星座列表? ???
符合線性表的定義。
4. 小結
(1)線性表是數據元素的有序并且有限的集合
(2)線性表中的數據元素必須是類型相同的
(3)線性表可用于于描述“隊列類型”關系的問題
?