① 線性表採用鏈式存儲時,結點的存儲地址是連續的嗎
用任意的一組存儲單元來存放線性表的結點,不同組的存儲單元既可以是連續的,也可以是不連續的。
線性表有順序表和鏈表兩種存儲結構。
順序表:線性表的結點按邏輯次序依次存放在一組地址連續的存儲單元里的方法。
鏈表:用一組任意的存儲單元來存放線性表的結點,這組存儲單元既可以是連續的,也可以是不連續的
(1)鏈式存儲結構單元的地址擴展閱讀:
線性表分類:
我們說「線性」和「非線性」,只在邏輯層次上討論,而不考慮存儲層次,所以雙向鏈表和循環鏈表依舊是線性表。
在數據結構邏輯層次上細分,線性表可分為一般線性表和受限線性表。一般線性表也就是我們通常所說的「線性表」,可以自由的刪除或添加結點。受限線性表主要包括棧和隊列,受限表示對結點的操作受限制。
線性表優點:
線性表的邏輯結構簡單,便於實現和操作。因此,線性表這種數據結構在實際應用中是廣泛採用的一種數據結構。
參考資料:網路——線性表
② 線性表若採用鏈式存儲結構時,要求內存中可用存儲單元的地址______。 A.必須是連續的 B.
正確答案是D
③ 線性表採用鏈表存儲結構,要求內存中可用存儲單元地址()
選擇D。
不過應該不是「連接」,而是「連續」。
鏈式存儲結構與順序存儲結構相比,最大的優點就是地址不連續。因此才會使得元素的插入、刪除等操作變得方便。
④ 敘述線性表兩種存儲結構各自的主要特點
兩種存儲結構各自的主要特點
1、順序存儲結構:存儲單元地址連續,它以「物理位置相鄰」來表示線性表中數據元素間的邏輯關系,可隨機存取表中任一元素。
2、鏈式存儲結構:存儲單元地址為任意一組,它的存儲單元可以是連續的,也可以是不連續的。
在表示數據元素之間的邏輯關系時,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置),這兩部分信息組成數據元素的存儲映像,稱為結點(node)。
(4)鏈式存儲結構單元的地址擴展閱讀:
線性表結構特點
1、均勻性
雖然不同數據表的數據元素可以是各種各樣的,但對於同一線性表的各數據元素必定具有相同的數據類型和長度。
2、有序性
各數據元素在線性表中的位置只取決於它們的序號,數據元素之前的相對位置是線性的,即存在唯一的「第一個「和「最後一個」的數據元素,除了第一個和最後一個外,其它元素前面均只有一個數據元素(直接前驅)和後面均只有一個數據元素(直接後繼)。
參考資料:搜狗網路-線性表
⑤ 線性表的鏈式存儲結構及其內存單元的地址特點
線性表的鏈式存儲表示的特點是用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的)。因此,為了表示每個數據元素 與其直接後繼數據元素 之間的邏輯關系,對數據元素 來說,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置)。由這兩部分信息組成一個"結點"(如概述旁的圖所示),表示線性表中一個數據元素。線性表的鏈式存儲表示,有一個缺點就是要找一個數,必須要從頭開始找起,十分麻煩
⑥ 鏈式存儲設計結點內的存儲單元地址為什麼要連續
鏈式存儲設計時,各個不同結點的存儲空間可以不連續,但是結點內的存儲單元地址則必須連續。
typedef struct LNode {
int value; // value中存放結點值域,默認是int型
struct Lnode *next;//指向後繼結點的指針
}LNode; // 定義單鏈表結點類型
上述定義了一個結構體,包括兩部分,一是值域,二是指針域;每當定義一個結點都會產生這兩個區域。
這個value與next域必須是挨著的,稱這個結點為內部。
假如我們定義若干個不同的結點,把它們連接起來成為一個單鏈表。
value區域,箭頭區域則是指針域指向邏輯上相鏈接的下一個結點,但是它們在空間上不一定連續。
而對於它們的結點內部一定是連續的。若第一個結點佔用兩個地址,那麼value域的起始地址是1,則指針域的地址就是2。同理若第二個結點的value地址是10,則next域就是11。
因此,在進行鏈式存儲設計時,各個不同結點完全可以存儲在不連續的空間上,而對於同一個結點內部,不論劃分多少個區域,兩個也好,三個也罷,總之內部的單元存儲地址是連續的。