2 1什麼是線性表

2021-09-05 11:50:37 字數 1406 閱讀 3045

通過前面的學習我們知道,具有「一對一」邏輯關係的資料,最佳的儲存方式是使用線性表。那麼,什麼是線性表呢?

線性表,全名為線性儲存結構。使用線性表儲存資料的方式可以這樣理解,即「把所有資料

用一根線兒

串起來,再儲存到物理空間中」。

圖 1 "一對一"邏輯關係的資料

如圖 1 所示,這是一組具有「一對一」關係的資料,我們接下來採用線性表將其儲存到物理空間中。

首先,用「一根線兒」把它們按照順序「串」起來,如圖 2 所示:

圖 2 資料的"線性"結構

圖 2 中,左側是「串」起來的資料,右側是空閒的物理空間。把這「一串兒」資料放置到物理空間,我們可以選擇以下兩種方式,如圖 3 所示。

圖 3 兩種線性儲存結構

圖 3a) 是多數人想到的儲存方式,而圖 3b) 卻少有人想到。我們知道,資料儲存的成功與否,取決於是否能將資料完整地復原成它本來的樣子。如果把圖 3a) 和圖 3b) 線的一頭扯起,你會發現資料的位置依舊沒有發生改變(和圖 1 一樣)。因此可以認定,這兩種儲存方式都是正確的。

將具有「一對一」關係的資料「線性」地儲存到物理空間中,這種儲存結構就稱為

線性儲存結構(簡稱線性表)

。使用線性表儲存的資料,如同向陣列

中儲存資料那樣,要求資料型別必須一致,也就是說,線性表儲存的資料,要麼全不都是整形,要麼全部都是字串。一半是整形,另一半是字串的一組資料無法使用線性表儲存。

圖 3 中我們可以看出,線性表儲存資料可細分為以下 2 種:

如圖 3a) 所示,將資料依次儲存在連續的整塊物理空間中,這種儲存結構稱為順序儲存結構(簡稱順序表

);如圖 3b) 所示,資料分散的儲存在物理空間中,通過一根線儲存著它們之間的邏輯關係,這種儲存結構稱為鏈式儲存結構(簡稱鍊錶

);也就是說,線性表儲存結構可細分為順序儲存結構和鏈式儲存結構。

資料結構中,一組資料中的每個個體被稱為「資料元素」(簡稱「元素」)。例如,圖 1 顯示的這組資料,其中 1、2、3、4 和 5 都是這組資料鐘的乙個元素。

另外,對於具有「一對一」邏輯關係的資料,我們一直在用「某一元素的左側(前邊)或右側(後邊)」這樣不專業的詞,其實線性表中有更準確的術語:

以圖 1 資料中的元素 3 來說,它的直接前驅是 2 ,此元素的前驅元素有 2 個,分別是 1 和 2;同理,此元素的直接後繼是 4 ,後繼元素也有 2 個,分別是 4 和 5。如圖 4 所示:

圖 4 前驅和後繼

什麼是線性表?(詳談)

線性表,從名字上你就能感覺到,是具有像線一樣的性質的表。在廣場上,有很多人分散在各處,當中有些是小朋友,可也有很多大人,甚至還有不少寵物,這些小朋友的資料對於整個廣場人群來說,不能算是線性表的結構。但像班級的小朋友,乙個跟著乙個排著隊,有乙個打頭,有乙個收尾,當中的小朋友每乙個都知道他前面乙個是誰,...

什麼是線性表(線性儲存結構)

通過前面的學習我們知道,具有 一對一 邏輯關係的資料,最佳的儲存方式是使用線性表。那麼,什麼是線性表呢?線性表,全名為線性儲存結構。使用線性表儲存資料的方式可以這樣理解,即 把所有資料用一根線兒串起來,再儲存到物理空間中 圖 1 一對一 邏輯關係的資料 如圖 1 所示,這是一組具有 一對一 關係的資...

2 1 線性表的順序儲存結構

線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。優點 1 無需為表中元素之間的邏輯關係而增加額外的儲存空間 2 可以快速的訪問表中的任一位置的元素 缺點 1 插入和刪除需要移動大量元素 2 當線性表長度變化較大時,難以確定儲存空間的容量 3 造成儲存空間的 碎片 下面用...