第三節 線性表的順序存儲

一、順序表

  1、順序表的定義

線性表的順序存儲又稱爲順序表,它是用一組地址連續存儲單元,依次存儲線性表中的數據元素。從而使得邏輯上相連的兩個元素在物理上也是相鄰的。表中元素的邏輯順序與物理順序相同

2、線性表的順序存儲表示

 3、線性表順序存儲類型描述

4、順序表的特點 

  • 順序表的主要特點是隨機訪問,即通過首地址和元素序號可以在O(1) 的時間內找到指定元素。

  • 順序表的存儲密度高,每個節點只存儲數據元素。

  • 順序表邏輯上相鄰的元素物理上也相鄰,所以插入和刪除操作需要移動大量元素。

 二、順序表的基本操作實現

 1、插入操作:ListInsert(&L , i , e)

 在順序表L的第  i (1=< i && i <= L.length + 1 ) 個位置插入新元素e.如果 i 的輸入不合法則返回false,表示插入失敗;否則將順序表的第 i 個元素以及其後所有元素右移一個位置,插入元素 e ,順序表長度加 1,插入成功返回true.

2、刪除操作 : ListDelete(SqList &L , int i, int &e)

刪除順序表L中第 i 個位置的元素,成功返回true,並將被刪除的元素用引用變量e 返回。

3、按值查找(順序查找)LocateElem(SqList L ,ElemType e)

在順序表L中查找第 一個元素值等於 e ,並返回其位序。

(1)時間複雜度計算:

最好情況:查找的元素就在表頭時間複雜度爲O(1)

最壞情況:查找的元素在表尾時間複雜度爲O(n)

平均情況:時間複雜度爲T(n) = O(n)


陳Sir的個人博客網站:https://chensir.yoga

個人公衆號:陳Sir很皮

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章