當前位置:首頁 » 服務存儲 » 靜態鏈表是順序存儲還是鏈式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

靜態鏈表是順序存儲還是鏈式

發布時間: 2023-06-01 01:58:30

Ⅰ 順序表和靜態鏈表的區別

順序表和靜態鏈表的物理結構(即存儲結構)是相同的,搭宴在計算機內存中以數知凱銀組的形式保存的線性表,是用一組地址連續的存儲單元依次存儲數據元素的線性結構,但兩者的數據結構(邏輯結構)是不同的:
順序表:著眼於整個數組,採用動態分配的一維數組,仍然藉助了指針進行數據操作,具體描述如下:

typedef struct

{

ElemType *elem;

int length;

int listsize;

}Sqlist;

在線性表的插入和刪除操作時,需要藉助指針來移孫顫動元素。

靜態表:不設指針而使用鏈表結構,數組元素的一個分量用於存放數據,另一個用來作為「游標」指示下一結點在數組中的相對位置,數據的存儲盡管是採用一維數組的形式存儲在計算機中,但仍然是繼承了鏈表指向不一定總是指向緊挨著其的結點,描述如下:

typedef struct

{

Elemtype data;

int cur;

}component,SLinkList[MAXSIZE];

這種存儲結構,仍需要預先分配一個較大的空間,但在作為線性表的插入和刪除操作時不需移動元素,僅需修改指針(游標),故仍具有鏈式存儲結構的主要優點。

鑒於兩者的數據結構不同,對用的數據操作也就不同。

Ⅱ 簡答1.在數據結構課程中,數據的邏輯結構,數據的存儲結構,

1:數據的邏輯結構說明數據元素之間的順序關系,它依賴於計算機的存儲結構答:錯.說明:邏輯結構可用不同的存儲結構實現,「它依賴於計算機的存儲結構」完全說不通。2:演算法的運行時間涉及到加,減,乘,除,轉移,存取等基本運算。要想准確的計算總運行時間是不可行的。答:對。說明:軟硬體環境都是千差萬別的。也沒必要去准確計算。演算法分析只是為了比較不同演算法的優劣。3:在順序存儲結構中,有時也存儲數據結構中元素之間的關系。(這個我覺得靜態鏈表在存儲結構上是順序存儲,可是其中不也存儲了節點之間的關系的么?)答:錯。說明:「順序存儲結構」必須體現元素之間的關系,不是「有時」。「鏈式存儲結構」並不是「順序存儲結構」,後者稱「順序表」或「鄰接表」。有些書用「鏈表是順序存取」說法,但並不是指「鏈表是順序存儲結構」。

Ⅲ 請教大家:靜態鏈表是順序存儲結構,還是鏈式存儲結構

所謂靜態,僅僅是在編譯的時候就分配好了內存地址而已;

靜態鏈表還是鏈表,你看你的鏈表創建方法就知道了,它是一個節點一個節點創建的,每次申請節點的內存地址不是連續的,這和靜態與動態無關,所以不是順序存儲結構;

極端一點的情況是,就算真的所有節點都是在內存中按順序排列的,鏈表依然是鏈式存儲結構,因為它每次查找下一個節點時,是通過自己存儲的地址指針去找的,而不是在自身地址上+1去找的,就算這兩個的計算結果相同,但定址方式不同,後者才是順序存儲結構

Ⅳ 靜態鏈表是順序存儲結構,還是鏈式存儲結構

1、在打開的ie瀏覽器窗口右上方點擊齒輪圖標,選擇「Internet選項」,如下圖所示:

Ⅳ 線性表鏈式存儲結構是什麼

線性表是一種邏輯結構,它有兩種存儲方式,順序存儲和鏈式存儲。
順序存儲對應的是順序表,鏈式存儲對應的有單鏈表,雙鏈表,循環鏈表以及靜態鏈表。

其中,線性表的鏈式存儲又稱為單鏈表。
註:雙鏈表、循環鏈表等都是由單鏈表演化而來。
單鏈表:一個後繼指針,一個頭結點和頭指針。每一個結點是存儲下一個結點的存儲位置,因此最後一個結點存儲null,也就是空值。

雙鏈表:雙鏈表結點中有兩個指針,prior和next,即有前驅指針和後繼指針,分別指向前驅和後繼結點。

循環鏈表:循環鏈表和單鏈表的區別在於最後一個結點的指針不是null(回到單鏈表的知識去看一下吧),而是指向頭結點,從而整個鏈表成為了一個環。

循環雙鏈表:循環雙鏈表中頭結點的指針prior指針還要指向表尾結點。
註:在循環雙鏈表L中,當循環雙鏈表為空表時,其頭結點的prior域和next域都等於L。

靜態鏈表:靜態鏈表是藉助數組來描述線性表的鏈式存儲結構。結點有data域和指針域next。按照我的理解:其實靜態鏈表和單鏈表在結構上差不太多,但是靜態鏈表又和順序表很像,可以把靜態鏈表看作是單鏈表和順序表的結合吧。

鏈式存儲結構就這幾種了。

Ⅵ 靜態鏈表

靜態鏈表是亮閉鎮用順序存儲來實現鏈表結構的一種存儲結構。
它的出發點是是其既有鏈表的優點(添加刪除元素時不需要大批量的移動表中數據)又有順序表的優點(能方態散便定位元素位置)。

但這樣帶來的效果是操作復雜,每一步添加或刪除都是在2靜態表中敬粗操作。

今天仔細學習下清華版嚴蔚敏的第二章,其中有描述。

Ⅶ 幾個數據結構判斷題: 1:數據的邏輯結構說明數據元素之間的順序關系...

1:這個是錯誤的,數據的邏輯結構是指數據獨立於計算機的物理地址存儲的,不會依賴於計算機的存儲結構,而數據的存儲結構即物理機構才會依賴計算機的存儲結構。

2:這個是正確的。因為程序是按順序被計算機執行的(邏輯上的順序執行),所以這個是可以計算的

3:這個是不對的。因為順序存儲結構中,已經分配好了存儲空間給相應的數據結構,而數據結構是存儲數據元素,他們彼此不會在內存中有什麼結構上的關系,不然也會成為一個新的結構體存入內存。

Ⅷ 靜態鏈表的特點

靜態鏈表這種存儲結構,仍需要預先分配一個較大的空間,但在作為線性表的插入和刪除操作時不需移動元素,僅需修改指針,故仍具有鏈式存儲結構的主要優點。

假如有如上的靜態鏈表S中存儲著線性表(a,b,c,d,f,g,h,i),Maxsize=11,如圖所示,要在第四個元素後插入元素e,方法是:先在當前表尾加入一個元素e,即:S[9].data = e;然後修改第四個元素的游標域,將e插入到鏈表中,即:S[9].cursor = S[4].cursor;S[4].cursor = 9;,接著,若要刪除第7個元素h,則先順著游標鏈通過計數找到第7個元素存儲位置6,刪除的具體做法是令S[6].cursor = S[7].cursor。

(8)靜態鏈表是順序存儲還是鏈式擴展閱讀:

靜態鏈表中,除了數據本身通過游標組成鏈表外,還需要有一條連接各個空閑位置的鏈表,稱為備用鏈表。

作用:回收數組中未使用或者之前使用過(現在不用)的存儲空間,留待後期使用。即靜態鏈表使用數組申請的物理空間中,存在兩個鏈表,一條連接數據,另一條連接數組中為使用的空間。

註:通常備用鏈表的表頭位於數組下標為0(a[0])的位置,而數據鏈表的表頭位於數組下標為1(a[1])的位置。

Ⅸ 數據結構 線性表 判斷題

1對
2應該不是
3對
4不好意思 , 我沒聽過靜態鏈表這個名詞,我寫的鏈表都是用指針new出來的,可以delete的那種, 這種鏈表沒寫過, 不是很清楚他的結構,如果給我猜到話,我猜不是,我同學也沒聽知山過這個名詞則猛蔽,所以感覺應孫州該不是
4答案不對:邏輯上鏈表的性質,存儲方式是數組方式,剛問了老師 ,,(八年的編程經驗)