線性表是最基本、最簡單、也是最常用的一種資料結構。線性表(linear list)是資料結構的一種,一個線性表是n個具有相同特性的資料元素的有限序列。
線性表中資料元素之間的關係是一對一的關係,即除了第一個和最後一個資料元素之外,其它資料元素都是首尾相接的(注意,這句話只適用大部分線性表,而不是全部。例如,循環鍊錶邏輯層次上也是一種線性表(存儲層次上屬於鍊式存儲,但是把最後一個數據元素的尾指針指向了首位結點)
定義
線性表(linear list)是資料結構的一種,一個線性表是n個具有相同特性的資料元素的有限序列。資料元素是一個抽象的符號,其具體意義在不同的情況下一般不同。
在稍複雜的線性表中,一個資料元素可由多個資料項(item)組成,此種情況常把資料元素稱為記錄(record),含有大量記錄的線性表又稱檔案(file)。
線性表中的個數n定義為線性表的長度,n=0時稱為空白表。在非空白表中每個資料元素都有一個確定的位置,如以ai表示資料元素,i稱為資料元素ai在線性表中的位序。
線性表的鄰近元素之間有序偶關係。如用(a1,…,ai-1,ai,ai 1,…,an)表示一個順序表,則表中ai-1領先於ai,ai領先於ai 1,稱ai- 1是ai的直接前驅元素,ai 1是ai的直接後繼元素。當i=1,2,…,n-1時,ai有且僅有一個直接後繼,當i=2,3,…,n時,ai有且只有一個直接前驅 [1] 。
分類
我們說「線性」和「非線性」,只在邏輯層次上討論,而不考慮儲存層次,所以雙向鍊錶和循環鍊錶依舊是線性表。
在資料結構邏輯層次上細分,線性表可分為一般線性表和受限線性表。一般線性表也就是我們通常所說的“線性表”,可以自由的刪除或添加結點。受限線性表主要包括棧和隊列,受限表示對結點的操作受限制。
# #優點
線性表的邏輯結構簡單,以便實現和操作。因此,線性表這種資料結構在實際應用中是廣泛採用的一種資料結構。以上是線性表是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!