① 線性存儲結構就是順序存儲結構嗎線性表是線性存儲結構嗎
不是,他們的關系可以如圖所示。線性表包括順序存儲結構和鏈式存儲結構。
拓展資料:
線性表的劃分是從數據的邏輯結構上進行的。線性指的是在數據的邏輯結構上是線性的。即在數據元素的非空有限集中
(1)存在唯一的一個被稱作「第一個」的數據元素,(2)存在唯一的一個被稱作「最後一個」的數據元素,(3)除第一個外,集合中的每個數據元素均只有一個前繼元素,(4)除最後一個外,集合中的每個數據元素均只有一個後繼元素。
那麼對於線性表,從存儲結構上分,可以有順序存儲結構和鏈式存儲結構。順序存儲結構包括順序表、順序隊列和順序棧;鏈式存儲結構包括鏈表、鏈隊列和鏈棧。
② C語言中,數據結構存儲結構屬於線性還是非線性
這個不能一概而論
通常所說的數組是線性存儲的,還有數據結構書中說的線性表,
鏈表通常是非線性的
其他的數據結構數據結構存儲結構包括順序存儲結構和鏈式存儲結構;
順序結構:數據元素存放的地址是連續的-----線性的存儲;
鏈式結構:數據元素存放的地址是否連續沒有要求----非線性的存儲
③ 線性表和鏈表有什麼區別
線性表在內存中是一塊連續的存儲空間,相當於數組,查找比較快,但是插入數據、刪除數據比較慢。
鏈表在內存中是分散存儲的,優點是容易插入、刪除數據,但是缺點是查找較不方便
④ 線性鏈表的基本概念是什麼
1.鏈表用鏈接存儲方式存儲的線性表稱為鏈表。鏈表是用一組任意的存儲單元來存放線性表的結點,這組存儲單元可以連續,也可以不連續。鏈表中的邏輯次序和物理次序不一定相同。為了能正確表示結點間的邏輯關系,在存儲每個結點時,除了存儲表示結點信息的數據域外,還必須存儲指示其後繼結點的地址(或位置)信息,這個信息稱為指針。這兩部分組成了鏈表的結點結構,如圖1所示。
圖1結點結構
⑤ 線性鏈表是干什麼用的呀是數據里的邏輯結構還是存儲結構我怎麼老覺得線性結構是一種存儲方式呢......
是存儲結構線性鏈表是具有鏈接存儲結構的線性表,它用一組地址任意的存儲單元存放線性表中的數據元素,邏輯上相鄰的元素在物理上不要求也相鄰,不能隨機存取。
⑥ 線性表的唯一存儲形式是鏈表
不是的。線性表既可以用鏈表存儲,也可以用數組存儲。
⑦ 我們老師說鏈表就是線性表的鏈式儲存結構,那麼我想問一下單向鏈表,
單向鏈表和循環鏈表可以算是線性表
雙向鏈表從拓撲結構來說就可以不算是線性了
還有一種鏈表,每個節點有兩個後繼節點的(用於存儲二叉樹),這樣顯示就不是一個線形結構了。
⑧ 二叉鏈表和循環鏈表分別是不是線性結構
二叉鏈表和循環鏈表不是線性結構,線性結構有:線性表,棧,隊列,雙隊列,串。
非線性結構有:二維數組,多維數組,廣義表,樹(二叉樹等),圖。
二叉鏈表是樹的二叉鏈表實現方式,以二叉鏈表作為樹的存儲結構。所以二叉鏈表不是線性結構。
循環鏈表是鏈式存貯結構,是表中最後一個結點的指針域指向頭結點,整個鏈表形成一個環,屬於圖。所以不是線性結構。
(8)鏈表是線性存儲嗎擴展閱讀
循環鏈表的特點是無須增加存儲量,僅對表的鏈接方式稍作改變,即可使得表處理更加方便靈活。
循環鏈表中沒有NULL指針。涉及遍歷操作時,其終止條件就不再是像非循環鏈表那樣判別p或p->next是否為空,而是判別它們是否等於某一指定指針,如頭指針或尾指針等。
在單鏈表中,從一已知結點出發,只能訪問到該結點及其後續結點,無法找到該結點之前的其它結點。而在單循環鏈表中,從任一結點出發都可訪問到表中所有結點,這一優點使某些運算在單循環鏈表上易於實現。
⑨ 線性鏈表的存儲方式是什麼
利用C中數組和結構體在內存中為連續分配內存單元(就是無間隙) ,一般使用結構體作為線性鏈表的結點(其中創建了一個或兩個指向本身結構體的指針),指針指向後一個結構體的首地址; 就成單鏈表;如果其中建了兩個指針就可以做成雙鏈表;邏輯上是連續的,但物理上不一定連續。
⑩ 鏈式存儲結構屬於線性結構還是非線性的存儲結構
鏈表是線性表的鏈式存儲結構
線性表的鏈式存儲表示的特點是用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的)。因此,為了表示每個數據元素與其直接後繼數據元素
之間的邏輯關系,對數據元素來說,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置)。由這兩部分信息組成一個「結點」,表示線性表中一個數據元素
。
鏈表(Linked
list)是一種常見的基礎數據結構,是一種線性表,但是並不會按線性的順序存儲數據,而是在每一個節點里存到下一個節點的指針(Pointer)。由於不必按順序存儲,鏈表在插入的時候可以達到O(1)的復雜度,比另一種線性表:順序錶快得多,但是查找一個節點或者訪問特定編號的節點則需要O(n)的時間,而順序表相應的時間復雜度分別是O(logn)和O(1)。
使用鏈表結構可以克服數組鏈表需要預先知道數據大小的缺點,鏈表結構可以充分利用計算機內存空間,實現靈活的內存動態管理。但是鏈表失去了數組隨機讀取的優點,同時鏈表由於增加了結點的指針域,空間開銷比較大。在計算機科學中,鏈表作為一種基礎的數據結構可以用來生成其它類型的數據結構。
鏈表通常由一連串節點組成,每個節點包含任意的實例數據(data
fields)和一或兩個用來指向明上一個/或下一個節點的位置的鏈接("links")。鏈表最明顯的好處就是,常規數組排列關聯項目的方式可能不同於這些數據項目在記憶體或磁碟上順序,數據的存取往往要在不同的排列順序中轉換。而鏈表是一種自我指示數據類型,因為它包含指向另一個相同類型的數據的指針(鏈接)。鏈表允許插入和移除表上任意位置上的節點,但是不允許隨機存取。
鏈表有很多種不同的類型:單向鏈表,雙向鏈表以及循環鏈表。鏈表可以在多種編程語言中實現。像Lisp和Scheme這樣的語言的內建數據類型中就包含了鏈表的存取和操作。程序語言或面向對象語言,如C,C++和Java依靠易變工具來生成鏈表。