㈠ 在線性表的順序存儲結構中,邏輯上相鄰的兩個元素在物理位置上並不一定緊鄰,是對是錯
是錯的,在線性表的順序存儲結構中,邏輯上相鄰的兩個元素在存儲位置上一定是相鄰的,所以說題目中的說法是錯誤的。
順序存儲結構是存儲結構類型中的一種,該結構是把邏輯上相鄰的結點存儲在物理位置上相鄰的存儲單元中,結點之間的邏輯關系由存儲單元的鄰接關系來體現。
在計算機中用一組地址連續的存儲單元依次存儲線性表的各個數據元素,稱作線性表的順序存儲結構。
(1)線性表連接存儲中元素間邏輯關系擴展閱讀:
順序存儲結構的優缺點:
優點:隨機存取表中元素、儲存密度大。
缺點:插入和刪除操作需要移動元素。
線性表的特徵:
1、集合中必存在唯一的一個「第一元素」。
2、集合中必存在唯一的一個「最後元素」。
3、除最後一個元素之外,均有唯一的後繼(後件)。
4、除第一個元素之外,均有唯一的前驅(前件)。
線性表的結構特點:
1、均勻性,雖然不同數據表的數據元素可以是各種各樣的,但對於同一線性表的各數據元素必定具有相同的數據類型和長度。
2、有序性,各數據元素在線性表中的位置只取決於它們的序號,數據元素之前的相對位置是線性的,即存在唯一的「第一個」和「最後一個」的數據元素,除了第一個和最後一個外,其它元素前面均只有一個數據元素和後面均只有一個數據元素。
參考資料來源:網路-順序存儲結構
參考資料來源:網路-線性表
㈡ 什麼是線性表線性表有哪兩種存儲結構它們是如何存儲數據元素的各有什麼優點
線性表:有n(n>0)的數據元素a1,a2,a3,.....,an組成的有限序列。
兩種存儲結構:
順序存儲結構:存取較快,插入刪除較麻煩。
鏈式存儲結構:存取較慢,插入刪除叫簡單。
存儲數據元素:
順序存儲結構:直接存取。優點空間連續,位置明確。
鏈式存儲結構:由於鏈表特徵,需要從表頭掃面。優點空間分散,位置不明確。
線性表中數據元素之間的關系是一對一的關系,即除了第一個和最後一個數據元素之外,其它數據元素都是首尾相接的,注意,這句話只適用大部分線性表,而不是全部。比如,循環鏈表邏輯層次上也是一種線性表。
(2)線性表連接存儲中元素間邏輯關系擴展閱讀:
線性表中的個數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)線性表
概念:實際上是基於前面元素和後面元素之間的一種相鄰關系的結構
特點:
1.是由n(n>=0)個元素組成的有序序列
2.都有唯一的第一個元素和唯一一個最後元素,當n=0時,線性表為空表。線性
表每個元素,初第一個外,都有且僅有一個前驅元素,初最後一個元素外,都有
且僅有一個後續元素
3.在該序列中,所有的元素都有相同的結構,要麼是同樣類型的數據,要麼是同
樣類型的復雜結構。
(2)順序表
概念:順序表是線性表在順序存儲形式下構成的表
特點:
1.順序表的存儲是指在內存中,在一段連續的存儲單元中存儲的線性表。
2.邏輯結構上相鄰的數據元素(直接前驅和直接後續)在存儲位置(或物理位置)
上也相鄰。根據上述只要知道首地址和每個數據元素所佔的位元組數,就可以求出
第n個數據元素的地址
(3)鏈表
概念:鏈表也是一種有順序的表,其內容可以存儲在一組任意的存儲單元中,所
謂任意的存儲單元,即這組存儲單元可以是連續,也可以是不連續的,這就需要
在存儲元素本身信息的同時,還有存儲下一個元素的位置,由此構成一個鏈狀結
構,稱其為鏈表。
特點:
1.鏈表的頭部(頭結點)只表示整個鏈表的起始位置,而無任何信息。對於最後
一個結點(尾結點),後面無任何元素,其表示元素的位置的地址用「^」來表
示,程序實現中用「null」來表示
2.每個結點都有兩個區域(數據域和指針域)。
3.每個操作都從頭結點開始
4.每個節點的指針域都指向下一個結點的地址,尾節點除外(尾節點的指針域為
null)
(4)線性表的邏輯結構
概念:相鄰元素之間所滿足的前驅和後續的邏輯關系。
特點:
1.每個元素都有唯一的前驅和後續,起始元素和結束元素除外(起始元素只有後
續,結束元素只有前驅)
(5)線性表的存儲結構
概念:線性表在計算機中的表示形式,可以分為順序存儲結構和鏈式存儲結構
特點:
(1)順序存儲結構用一段連續的空間來存儲,有利於節省存儲空間
(2)鏈式存儲結構存儲在一組任意的存儲單元,所謂的任意存儲單元,即這組存
㈣ 鏈式存儲結構的特點是利用什麼來表示數據元素之間的邏輯關系
1。在線性表的順序存儲結構中,元素之間的邏輯關系是通過(元素的存儲地址)決定的;
2。在線性表的鏈接存儲中,元素之間的邏輯關系是通過(結點中的指針)決定的。
㈤ 在線性表的順序存儲結構中元素間的邏輯關系是通過什麼決定的鏈式存儲結構呢
在線性表的順序存儲結構中,元素之間的邏輯關系是通過(
元素的存儲地址
)決定的;在線性表的鏈接存儲中,元素之間的邏輯關系是通過(
結點中的指針
)決定的。
㈥ 線性表的順序存儲結構是以什麼來表示數據元素之間的邏輯關系的
線性表是最基本、最簡單、也是最常用的一種數據結構。線性表(linear list)是數據結構的一種,一個線性表是n個具有相同特性的數據元素的有限序列。
線性表主要由順序表示或鏈式表示。在實際應用中,常以棧、隊列、字元串等特殊形式使用。
順序表示指的是用一組地址連續的存儲單元依次存儲線性表的數據元素,稱為線性表的順序存儲結構或順序映像(sequential mapping)。它以「物理位置相鄰」來表示線性表中數據元素間的邏輯關系,可隨機存取表中任一元素。
由此得到的存儲結構為順序存儲結構,通常順序存儲結構是藉助於計算機程序設計語言(例如c/c++)的數組來描述的。
順序存儲結構的主要優點是節省存儲空間,因為分配給數據的存儲單元全用存放結點的數據(不考慮c/c++語言中數組需指定大小的情況),結點之間的邏輯關系沒有佔用額外的存儲空間。
採用這種方法時,可實現對結點的隨機存取,即每一個結點對應一個序號,由該序號可以直接計算出來結點的存儲地址。但順序存儲方法的主要缺點是不便於修改,對結點的插入、刪除運算時,可能要移動一系列的結點。
推薦課程:C語言教程。
線性表順序存儲結構的結構代碼:
#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length; // 線性表當前長度
} SqList;
順序存儲結構封裝需要三個屬性:
存儲空間的起始位置,數組data,它的存儲位置就是線性表存儲空間的存儲位置。
線性表的最大存儲容量:數組的長度MaxSize。
線性表的當前長度:length。
注意:數組的長度與線性表的當前長度需要區分一下:數組的長度是存放線性表的存儲空間的總長度,一般初始化後不變。而線性表的當前長度是線性表中元素的個數,是會變化的。
線性表順序存儲結構的優缺點
線性表的順序存儲結構,在存、讀數據時,不管是哪個位置,時間復雜度都是O(1)。而在插入或刪除時,時間復雜度都是O(n)。
這就說明,它比較適合元素個數比較穩定,不經常插上和刪除元素,而更多的操作是存取數據的應用。
優點:
無須為表示表中元素之間的邏輯關系而增加額外的存儲空間。
可以快速地存取表中任意位置的元素。
缺點:
插上和刪除操作需要移動大量元素。
當線性表長度變化較大時,難以確定存儲空間的容量。
容易造成存儲空間的「碎片」
㈦ 敘述線性表兩種存儲結構各自的主要特點
兩種存儲結構各自的主要特點
1、順序存儲結構:存儲單元地址連續,它以「物理位置相鄰」來表示線性表中數據元素間的邏輯關系,可隨機存取表中任一元素。
2、鏈式存儲結構:存儲單元地址為任意一組,它的存儲單元可以是連續的,也可以是不連續的。
在表示數據元素之間的邏輯關系時,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置),這兩部分信息組成數據元素的存儲映像,稱為結點(node)。
(7)線性表連接存儲中元素間邏輯關系擴展閱讀:
線性表結構特點
1、均勻性
雖然不同數據表的數據元素可以是各種各樣的,但對於同一線性表的各數據元素必定具有相同的數據類型和長度。
2、有序性
各數據元素在線性表中的位置只取決於它們的序號,數據元素之前的相對位置是線性的,即存在唯一的「第一個「和「最後一個」的數據元素,除了第一個和最後一個外,其它元素前面均只有一個數據元素(直接前驅)和後面均只有一個數據元素(直接後繼)。