数据结构——线性表:顺序表、单向链表、循环链表、双向链表
?
線性表 ?
?
是一種數據結構:n個數據元素的有限序列
表示形式: L = (a1,a2...an)
a1是線性表的元素,小寫。
n=0時候為空表
數據元素具有相同特性
相鄰元素之間存在序偶關系:即有唯一的第一和最后一個元素,除了第一個元素外,每個元素有且只有一個前驅,除最后一個元素外,有且只有一個后繼。
定義數據類型構成list:
怎么具體實現
存儲結構:順序、鏈式
線性表的順序存儲結構:順序表 (邏輯結構和物理結構相同)
線性表的鏈式存儲結構:鏈表
?
?
順序表
順序:用一組地址連續的存儲空間依次存儲線性表的數據元素。
順序表的特點:邏輯結構與存儲結構一致。訪問每個數據元素花費時間相等。這種方法稱為隨機存儲結構。
表示方法:用一維數組
線性表的基本操作:
初始化、銷毀、清空、判斷是否為空、求長度、取第i個元素、檢索L中的元素e、插入、返回、刪除、遍歷、...
例如:
?
順序表的應用:
最大前綴子集:就是相同
解題思路:
?
?
線性表的 鏈式表示和實現
順序表的局限:插入和刪除都要移動大量元素,耗費時間。
好的地方:隨機存儲
?
鏈式存儲:用一組任意存儲單元存放線性表
存儲單元不要求連續:物理結構不反映邏輯結構
不可以隨機存取,但插入和刪除方便
需要兩個域:一個表示數據本身,一個表示數據元素的先后關聯。
結點中表示關聯的部分為指針。
取元素的話,順序表更快。 單鏈表慢一點,要一個個往下找。
?
?單鏈表取第i個元素: 時間更多
?
順序表取第i個元素:時間更快
?
單鏈表的插入操作:
?
循環鏈表:
?
雙向鏈表:
雙向循環鏈表:
?
?
總結
以上是生活随笔為你收集整理的数据结构——线性表:顺序表、单向链表、循环链表、双向链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: static 静态成员变量和静态函数 C
- 下一篇: 机器学习视觉图像算法工程师--面试笔试-