1樓:厚起雲奚亥
線性表這種抽象結構在實現是有陣列實現和連結串列實現兩種儲存結構。
陣列實現我們知道在定義的時候要固定長度,因此儲存資料過多時會溢位,過少時浪費儲存空間,但是相關操作實現起來比較簡單。
連結串列實現是動態獲取記憶體單元,儲存資料時基本不受空間限制(受記憶體大小限制),幾乎不會浪費儲存空間,但是相關操作實現起來比陣列複雜一點。
2樓:道峰山營
線性表儲存結構有2種,分別是順序儲存和鏈性儲存結構。
資料元素之間的關係有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的儲存結構:順序儲存結構和鏈式儲存結構。資料的儲存結構是指資料的邏輯結構在計算機中的表示。
在計算機中用一組地址連續的儲存單元依次儲存線性表的各個資料元素,稱作線性表的順序儲存結構。
連結儲存結構是在計算機中用一組任意的儲存單元儲存線性表的資料元素(這組儲存單元可以是連續的,也可以是不連續的)。
順序儲存結構是儲存結構型別中的一種,該結構是把邏輯上相鄰的節點儲存在物理位置上相鄰的儲存單元中,結點之間的邏輯關係由儲存單元的鄰接關係來體現。由此得到的儲存結構為順序儲存結構,通常順序儲存結構是藉助於計算機程式設計語言(例如c/c++)的陣列來描述的。
3樓:科技鳥
順序儲存和鏈性儲存結構。
線性的資料結構有哪幾種?各有什麼特點
4樓:匿名使用者
線性的資料結構有:線性表、棧、佇列、雙端佇列、陣列和串
1、線性表
線性表是最基本、最簡單、也是最常用的一種資料結構。一個線性表是n個具有相同特性的資料元素的有限序列。
特點:線性表中資料元素之間的關係是一對一的關係;線性表的邏輯結構簡單,便於實現和操作。
2、棧棧又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。棧是限定僅在表頭進行插入和刪除操作的線性表。
特點:棧是允許在同一端進行插入和刪除操作的特殊線性表,棧可以用來在函式呼叫的時候儲存斷點,做遞迴時要用到棧。
3、佇列
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。
特點:在佇列的形成過程中,可以利用線性連結串列的原理,來生成一個佇列;佇列和棧一樣只允許在斷點處插入和刪除元素。
4、雙端佇列
雙端佇列是指允許兩端都可以進行入隊和出隊操作的佇列,其元素的邏輯結構仍是線性結構。將佇列的兩端分別稱為前端和後端,兩端都可以入隊和出隊。
特點:對於雙端佇列,在序列的兩端插入元素的時間複雜度均為常數,在中間插入元素的時間複雜度與插入點到最近序列端點的距離成正比。
5、陣列
陣列是用於儲存多個相同型別資料的集合。若將有限個型別相同的變數的集合命名,那麼這個名稱為陣列名。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。
特點:陣列中的各元素的儲存是有先後順序的,它們在記憶體中按照這個先後順序連續存放在一起;陣列元素用整個陣列的名字和它自己在陣列中的順序位置來表示。
6、串串是零個或多個字元組成的有限序列。一般記s=『a1a2....an 』其中,s是串名,單引號括起的字元序列是串值;ai(1〈=i〈=n)可以是字母,數字或其它字元。
特點:串中所包含的字元個數為該串的長度;長度為零的串稱為空串,它不包含任何字元。
5樓:暴走少女
1、集合結構。特點: 集合中任何兩個資料元素之間都沒有邏輯關係,組織形式鬆散。
2、樹形結構。特點:樹形結構具有分支、層次特性,其形態有點象自然界中的樹。
3、圖狀結構。特點:圖狀結構中的結點按邏輯關係互相纏繞,任何兩個結點都可以鄰接。
擴充套件資料:
一、分類
資料結構課程中資料的邏輯結構分為線性結構和非線性結構。
對於資料結構課程而言,簡單地說,線性結構是n個資料元素的有序(次序)集合。
二、特徵
1、集合中必存在唯一的一個"第一個元素"。
2、集合中必存在唯一的一個"最後的元素"。
3、除最後元素之外,其它資料元素均有唯一的"後繼"。
4、除第一元素之外,其它資料元素均有唯一的"前驅"。
資料結構中線性結構指的是資料元素之間存在著「一對一」的線性關係的資料結構。
如(a0,a1,a2,.....,an),a0為第一個元素,an為最後一個元素,此集合即為一個線性結構的集合。
相對應於線性結構,非線性結構的邏輯特徵是一個結點元素可能對應多個直接前驅和多個後繼。
6樓:假面
3種。1 列表:普通的陣列形式、連結串列形式
2 佇列:先進先出,刪除在隊首,新增在隊尾3 棧:後進先出,新增和刪除都在棧頂實現
線性的資料結構的主要特點是首無前驅,尾無後繼,中間的元素有唯一的前驅和後繼
7樓:愛做作業的學生
常用的線性結構有:線性表,棧,佇列,雙佇列,陣列,串。
1、線性表
線性表中資料元素之間的關係是一對一的關係,即除了第一個和最後一個資料元素之外,其它資料元素都是首尾相接的(注意,這句話只適用大部分線性表,而不是全部。比如,迴圈連結串列邏輯層次上也是一種線性表(儲存層次上屬於鏈式儲存),但是把最後一個資料元素的尾指標指向了首位結點)。
2、棧其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
3、佇列
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。
擴充套件資料線性結構特徵
1、集合中必存在唯一的一個"第一個元素"。
2、集合中必存在唯一的一個"最後的元素"。
3、除最後元素之外,其它資料元素均有唯一的"後繼"。
4、除第一元素之外,其它資料元素均有唯一的"前驅"。
線性表兩種 儲存結構各自的優缺點有哪些?
8樓:匿名使用者
鏈式儲存結構優點,插入和刪除非常簡單,前提條件是知道操作位置,時間複雜度是o(1),但如果不知道操作位置則要定位元素,時間複雜度也是o(n),還有一個很大的優點是沒有容量的限制,可以在使用過程中動態的分配記憶體空間,不用擔心溢位的問題;缺點是它不能實現隨機讀取,同時空間利用率不高.
這兩個結構各有優缺點,不同的地方選擇不同的結構.儘量利用其優點,避免其缺點.
線性儲存結構就是順序儲存結構嗎 線性表是線性儲存結構嗎
根鬧米 不是,他們的關係可以如圖所示。線性表包括順序儲存結構和鏈式儲存結構。線性表的劃分是從資料的邏輯結構上進行的。線性指的是在資料的邏輯結構上是線性的。即在資料元素的非空有限集中 1 存在唯一的一個被稱作 第一個 的資料元素,2 存在唯一的一個被稱作 最後一個 的資料元素,3 除第一個外,集合中的...
線性表的順序儲存結構用C 實現
線性表的順序儲存結構用c 實現 include pch.h include include define data int typedef int data struct snode snode g phead null void addhead data data void print print...
資料結構C語言版,順序線性表的合併程式。最好有註釋
防禦 希望我的回答對你的學習有幫助 include 順序表儲存空間長度的最小值 define listminsize 10 順序表儲存結構型別定義 typedef struct seqlist 順序表初始化 void listinitialize seqlist pl,int size 按給定的下標...