順序表


 

順序表是線性表的一種順序存儲形式。換句話說,線性表是邏輯結構,表示元素之間一對一的相鄰關系;而順序表是存儲結構,是指用一組地址連續的存儲單元,依次存儲線性表中的數據元素,從而使得邏輯上相鄰的兩個元素在物理位置上也相鄰。

 

設順序表的第一個元素 a0 的存儲地址為Loc(a0) ,每個元素占 d 個存儲空間,則第 i 個元素的地址為:

 Loc(ai-1)=Loc(a0)+(i-1)*d

 

順序表在程序中通常用一維數組實現,一維數組可以是靜態分配的,也可以是動態分配的。

在靜態分配時,由於數組的大小和空間是固定的,一旦空間占滿,就無法再新增數據,否則會導致數據溢出。

而在動態分配時,存儲數組的空間在程序執行過程中會動態調整大小,當空間占滿時,可以另行開辟更大的存儲空間來儲存數據。

 

順序表最主要的特點是可以進行隨機訪問,即可以通過表頭元素的地址和元素的編號(下標),在 O(1)的時間復雜度內找到指定的元素。

順序表的不足之處是插入和刪除操作需要移動大量的元素,從而保持邏輯上和物理上的連續性。

 

順序表基本操作:構造,插入,擴容,查找,刪除,遍歷 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM