⑴ 敘述線性表兩種存儲結構各自的主要特點
兩種存儲結構各自的主要特點
1、順序存儲結構:存儲單元地址連續,它以「物理位置相鄰」來表示線性表中數據元素間的邏輯關系,可隨機存取表中任一元素。
2、鏈式存儲結構:存儲單元地址為任意一組,它的存儲單元可以是連續的,也可以是不連續的。
在表示數據元素之間的邏輯關系時,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置),這兩部分信息組成數據元素的存儲映像,稱為結點(node)。
(1)數據的存儲結構線性擴展閱讀:
線性表結構特點
1、均勻性
雖然不同數據表的數據元素可以是各種各樣的,但對於同一線性表的各數據元素必定具有相同的數據類型和長度。
2、有序性
各數據元素在線性表中的位置只取決於它們的序號,數據元素之前的相對位置是線性的,即存在唯一的「第一個「和「最後一個」的數據元素,除了第一個和最後一個外,其它元素前面均只有一個數據元素(直接前驅)和後面均只有一個數據元素(直接後繼)。
⑵ 數據的存儲結構包括哪四種
存儲結構有:
1、鏈接存儲:在計算機中用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的)。
例:鏈。
2、順序存儲:在計算機中用一組地址連續的存儲單元依次存儲線性表的各個數據元素,稱作線性表的順序存儲結構。
例:數組,鏈。
3、索引存儲:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址,索引表由若干索引項組成。
例:線索樹。
4、散列存儲:散列存儲,又稱hash存儲,是一種力圖將數據元素的存儲位置與關鍵碼之間建立確定對應關系的查找技術。
例:棧(既可以通過順序存儲也可以同通過隨機存儲)。
順序存儲和鏈接存儲的基本原理:
在順序存儲中,每個存儲空間含有所存元素本身的信息,元素之間的邏輯關系是通過數組下標位置簡單計算出來的線性表的順序存儲,若一個元素存儲在對應數組中的下標位置為i,則它的前驅元素在對應數組中的下標位置為i-1,它的後繼元素在對應數組中的下標位置為i+1。
在鏈式存儲結構中,存儲結點不僅含有所存元素本身的信息,而且含有元素之間邏輯關系的信息。
在數據的順序存儲中,由於每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同。
而在數據的鏈接存儲中,由於每個元素的存儲位置保存在它的前驅或後繼結點中,所以只有當訪問到其前驅結點或後繼結點後才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關。
⑶ 線性存儲結構就是順序存儲結構嗎線性表是線性存儲結構嗎
不是,他們的關系可以如圖所示。線性表包括順序存儲結構和鏈式存儲結構。
拓展資料:
線性表的劃分是從數據的邏輯結構上進行的。線性指的是在數據的邏輯結構上是線性的。即在數據元素的非空有限集中
(1)存在唯一的一個被稱作「第一個」的數據元素,(2)存在唯一的一個被稱作「最後一個」的數據元素,(3)除第一個外,集合中的每個數據元素均只有一個前繼元素,(4)除最後一個外,集合中的每個數據元素均只有一個後繼元素。
那麼對於線性表,從存儲結構上分,可以有順序存儲結構和鏈式存儲結構。順序存儲結構包括順序表、順序隊列和順序棧;鏈式存儲結構包括鏈表、鏈隊列和鏈棧。
⑷ 什麼是線性表線性表有哪兩種存儲結構它們是如何存儲數據元素的各有什麼優點
線性表:有n(n>0)的數據元素a1,a2,a3,.....,an組成的有限序列。
兩種存儲結構:
順序存儲結構:存取較快,插入刪除較麻煩。
鏈式存儲結構:存取較慢,插入刪除叫簡單。
存儲數據元素:
順序存儲結構:直接存取。優點空間連續,位置明確。
鏈式存儲結構:由於鏈表特徵,需要從表頭掃面。優點空間分散,位置不明確。
線性表中數據元素之間的關系是一對一的關系,即除了第一個和最後一個數據元素之外,其它數據元素都是首尾相接的,注意,這句話只適用大部分線性表,而不是全部。比如,循環鏈表邏輯層次上也是一種線性表。
(4)數據的存儲結構線性擴展閱讀:
線性表中的個數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有且僅有一個直接前驅。
⑸ C語言中,數據結構存儲結構屬於線性還是非線性
這個不能一概而論
通常所說的數組是線性存儲的,還有數據結構書中說的線性表,
鏈表通常是非線性的
其他的數據結構數據結構存儲結構包括順序存儲結構和鏈式存儲結構;
順序結構:數據元素存放的地址是連續的-----線性的存儲;
鏈式結構:數據元素存放的地址是否連續沒有要求----非線性的存儲
⑹ 線性表存儲結構有哪幾種
線性表這種抽象結構在實現是有數組實現和鏈表實現兩種存儲結構。
數組實現我們知道在定義的時候要固定長度,因此存儲數據過多時會溢出,過少時浪費存儲空間,但是相關操作實現起來比較簡單。
鏈表實現是動態獲取內存單元,存儲數據時基本不受空間限制(受內存大小限制),幾乎不會浪費存儲空間,但是相關操作實現起來比數組復雜一點。
⑺ 數據結構之線性表的順序存儲[1]
線性表的順序存儲是線性表的一種最簡單最直接的存儲結構 它是用內存中的一段地址連續的存儲空間順序存放線性表的每一個元素 用這種存儲形式存儲的線性表我們稱其為順序表 在順序表中用內存中地址的線性關系表示線性表中數據元素之間的關系 這種用物理上的相鄰關系實現數據元素之間的邏輯相鄰關系簡單明了 如圖 所示 設 e 的存儲地址為Loc(e ) 每個數據元素佔d個位元組存儲單元 則第i個數據元素的地址為
Loc(ei)=Loc(e )+(i )*d ≤i≤n
這意味著只要知道順序表首地址和每個數據元素所佔地址單元的個數就可求出第i個數據元素的地址來 所以線性表的順序存儲結構是一種隨機存取的存儲結構 具有按數據元素的序號隨機存取的特點
線性表
順序表的內存表示
下標
數據元素
存儲地址
存儲元素
e
數據結構免費提供,內容來源於互聯網,本文歸原作者所有。
⑻ 線性的數據結構有哪幾種各有什麼特點
線性的數據結構有:線性表、棧、隊列、雙端隊列、數組和串
1、線性表
線性表是最基本、最簡單、也是最常用的一種數據結構。一個線性表是n個具有相同特性的數據元素的有限序列。
特點:線性表中數據元素之間的關系是一對一的關系;線性表的邏輯結構簡單,便於實現和操作。
2、棧
棧又名堆棧,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。棧是限定僅在表頭進行插入和刪除操作的線性表。
特點:棧是允許在同一端進行插入和刪除操作的特殊線性表,棧可以用來在函數調用的時候存儲斷點,做遞歸時要用到棧。
3、隊列
隊列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。
特點:在隊列的形成過程中,可以利用線性鏈表的原理,來生成一個隊列;隊列和棧一樣只允許在斷點處插入和刪除元素。
4、雙端隊列
雙端隊列是指允許兩端都可以進行入隊和出隊操作的隊列,其元素的邏輯結構仍是線性結構。將隊列的兩端分別稱為前端和後端,兩端都可以入隊和出隊。
特點:對於雙端隊列,在序列的兩端插入元素的時間復雜度均為常數,在中間插入元素的時間復雜度與插入點到最近序列端點的距離成正比。
5、數組
數組是用於儲存多個相同類型數據的集合。若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。
特點:數組中的各元素的存儲是有先後順序的,它們在內存中按照這個先後順序連續存放在一起;數組元素用整個數組的名字和它自己在數組中的順序位置來表示。
6、串
串是零個或多個字元組成的有限序列。一般記S=『a1a2....an 』其中,S是串名,單引號括起的字元序列是串值;ai(1〈=i〈=n)可以是字母,數字或其它字元。
特點:串中所包含的字元個數為該串的長度;長度為零的串稱為空串,它不包含任何字元。
⑼ 線性存儲結構就是順序存儲結構嗎線性表是線性存儲結構嗎
一、具體分析
1、線性結構的數據在存儲結構方面,既可能是順序存儲,也可能是鏈式存儲。
2、線性表是線性結構,也是順序存儲結構
3、數據的邏輯結構包括線性結構、樹、圖、集合這四種,在線性結構裡面叢山又有線性表、棧、隊列等等。
4、而數據的存儲結構只有兩種:順序存儲結構和鏈飢猜式存儲結構,這兩種存儲結構,前面一個是利用數據元素在存儲器中的相對位置表示其邏輯結構,另外一個是用指針來表示其邏輯關系。
二、拓展資料:關於數據結構(資料來源:網頁鏈接)
1、數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。
2、數據的物理結構是數據結構在計算機中的表示(又稱映像),它包括數據元素的機內表示和關系的機內表示。由於具滲肢中體實現的方法有順序、鏈接、索引、散列等多種,所以,一種數據結構可表示成一種或多種存儲結構。
3、數據元素的機內表示(映像方法): 用二進制位(bit)的位串表示數據元素。通常稱這種位串為節點(node)。當數據元素有若干個數據項組成時,位串中與個數據項對應的子位串稱為數據域(data field)。因此,節點是數據元素的機內表示(或機內映像)。
4、意義:在許多類型的程序的設計中,數據結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴於是否選擇了最優的數據結構。許多時候,確定了數據結構後,演算法就容易得到了。有些時候事情也會反過來,我們根據特定演算法來選擇數據結構與之適應。不論哪種情況,選擇合適的數據結構都是非常重要的。