當前位置:首頁 » 服務存儲 » 線性表和表可以存儲在數組中嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

線性表和表可以存儲在數組中嗎

發布時間: 2022-05-12 10:02:53

Ⅰ 線性表的兩種存儲結構各有哪些優缺點

線性表具有兩種存儲結構即順序存儲結構和鏈接存儲結構。
線性表的順序存儲結構可以直接存取數據元素,方便靈活、效率高,但插入、刪除操作時將會引起元素的大量移動,因而降低效率
而在鏈接存儲結構中內存採用動態分配,利用率高,但需增設指示結點之間關系的指針域,存取數據元素不如順序存儲方便,但結點的插入、刪除操作較簡單。

Ⅱ 比較數組,線性表和順序表

數組就是相同數據類型的元素按一定順序排列的集合。
一句話:就是物理上存儲在一組聯系的地址上。也稱為數據結構中的物理結構。
線性表中數據元素之間的關系是一對一的關系,即除了第一個和最後一個數據元素之外,其它數據元素都是首尾相接的。
一句話:線性表是數據結構中的邏輯結構。可以存儲在數組上,也可以存儲在鏈表上。
 線性表的結點按邏輯次序依次存放在一組地址連續的存儲單元里的方法。用順序存儲方法存儲的線性表簡稱為順序表。
一句話:用數組來存儲的線性表就是順序表。
總結:你被這幾個概念混淆,是因為你沒搞懂數據結構里的邏輯結構和物理存儲結構。

Ⅲ 線性表和數組有什麼區別

從定義上來看,線性表和數組都是數據元素的有序集

1、數組有維度(比如三維數組)的概念而線性表沒有

2、數組和線性表上可進行的操作不一樣。一般我們不在數組上進行數據插入和刪除的操作,同樣,我們也無法直接通過數據序列來訪問線性表中的數據單元(比如表中第i個元素)。

Ⅳ 線性表就是一個數組我們也只用數組來描述線性表對不對

從定義上來看,線性表和數組都是數據元素的有序集,兩者的區別在哪裡?

首先,數組有維度(比如三維數組)的概念而線性表沒有,雖然我們可以通過設計一些含指針的數據結構的線性表,使之可以模仿多維數組的操作,但這已經超出了常規的線性表的概念。

其次,數組和線性表上可進行的操作不一樣。比如,一般我們不在數組上進行數據插入和刪除的操作,同樣,我們也無法直接通過數據序列來訪問線性表中的數據單元(比如表中第i個元素)。

但是,對於初學者而言,為了方便對二者概念的消化,我們可以將一維的數組(注意是一維的)等同於線性表來理解,因為他們多數的性質都是類似的。但是我們不能說,線性表就是一個數組,這是不對的。

對該問題的回答中有人說「線性表是先存入的後出,後存入的先取出」,顯然是混淆了線性表和堆棧的概念,在此不再多說,請查閱相關資料。

Ⅳ 線性表存儲結構有哪幾種

線性表這種抽象結構在實現是有數組實現和鏈表實現兩種存儲結構。
數組實現我們知道在定義的時候要固定長度,因此存儲數據過多時會溢出,過少時浪費存儲空間,但是相關操作實現起來比較簡單。
鏈表實現是動態獲取內存單元,存儲數據時基本不受空間限制(受內存大小限制),幾乎不會浪費存儲空間,但是相關操作實現起來比數組復雜一點。

Ⅵ 數組、廣義表和線性表之間有什麼關系

數組是編譯語言自帶的一種復合數據類型。
廣義表和線性表是數據結構方面的概念,它們都被定義為一個有限的序列(a1,a2,a3,…,an)。只不過線性表中ai被限定為單個的元素,而廣義表中ai可以是單個元素,也可以是一個子廣義表。所以線性表可以用數組這種順序存儲結構來表示,也可以用鏈表來表示。而廣義表一般只能用鏈表來表示。

Ⅶ 線性表的順序存儲結構和一維數組有什麼區別哪個是靜態存儲空間

順序表是計算機內以一維數組形式表示的線性表,
線性表有鏈式存儲存與順序儲存兩種方式:
1,順序儲存結構是指用一組地址連續的存儲單元依次存儲數據元素的線性結構。
2,鏈式存儲是線性表採用指針連接的方式存儲。
線性表的長度是隨著線性表的插入刪除操作的進行而變化的,在任意時刻線性表的長度小於等於數組的長度,線性表的順序儲存是動態的,而一維數組是靜態的。

Ⅷ JAVA語言中線性表和表可以存儲在什麼中

可以存儲在LinkedList中

Ⅸ 線性表兩種 存儲結構各自的優缺點有哪些

線性表的鏈式存儲結構:

優點:

插入和刪除不需要移動插入時只需要對插入位置後的一個元素進行操作,不需要大量的移動元素。空間有效利用高。

缺點:

大量訪問操作時不如順序存儲結構,因為每次都需要從頭開始遍歷整個線性表直到找到相應的元素為止。

線性表的順序存儲結構:

優點:

可隨機存取表中任一元素。因為有下標可以操作可以快速的定位到指定位置的元素,但是不知道位置的話也需要順序遍歷。

缺點:

插入或刪除操作時,需大量移動元素。合適在很少進行插入和刪除運算的情況下。

(9)線性表和表可以存儲在數組中嗎擴展閱讀:

線性表的特徵

集合中必存在唯一的一個「第一元素」。

集合中必存在唯一的一個 「最後元素」 。

除最後一個元素之外,均有唯一的後繼(後件)。

除第一個元素之外,均有唯一的前驅(前件)。

線性表的基本操作

MakeEmpty(L) 這是一個將L變為空表的方法。

Length(L) 返回表L的長度,即表中元素個數。

Get(L,i) 這是一個函數,函數值為L中位置i處的元素(1≤i≤n)。

Prior(L,i) 取i的前驅元素。

Next(L,i) 取i的後繼元素。

Locate(L,x) 這是一個函數,函數值為元素x在L中的位置。

Insert(L,i,x)在表L的位置i處插入元素x,將原占據位置i的元素及後面的元素都向後推一個位置。

Delete(L,p) 從表L中刪除位置p處的元素。

IsEmpty(L) 如果表L為空表(長度為0)則返回true,否則返回false。

Clear(L)清除所有元素。

Init(L)同第一個,初始化線性表為空。

Traverse(L)遍歷輸出所有元素。

Find(L,x)查找並返回元素。

Update(L,x)修改元素。

Sort(L)對所有元素重新按給定的條件排序。

strstr(string1,string2)用於字元數組的求string1中出現string2的首地址。

參考資料來源:網路-線性表

Ⅹ C語言中構造一個順序存儲的線性表,為什麼其中的元素是用數組存儲的。

還是說只要是在內存中申請了一塊連續的地址空間存儲數據只要知道其首地址都可以用數組的形式訪問其中的元素呢?

就是這樣的。

線性表的特點就是長度可變,如果使用常規的數組,就不能實現這個特性,因為數組是定長的。而在堆中申請的內存可以通過參數在運行時指定它的大小,且可以調整它的大小,並且其使用方式和數組一樣,使用索引訪問。

int*p=(int*)malloc(sizeof(int)*5);

p[0];//第一個元素
p[1];//第二個元素
p[2];//第三個元素
//...
free(p);