全面解讀PHP-數據結構


一、常見數據結構

1、Array 數組

最簡單且應用最廣泛的數據結構之一

特性:使用連續的內存來存儲,數組中的所有元素必須是相同的類型或類型的衍生(同質數據結構),元素可以通過下標直接訪問。

2、LinkedList 鏈表

線性表的一種,最基本、最簡單,也是最常用的數據結構。

特性:元素之間的關系是一對一的關系(除了第一個和最后一個元素,其它元素都是首位相接),順序存儲結構和鏈式存儲結構兩種存儲方式。

3、double-linked-list  雙向鏈表

特性:每個元素都是一個對象,每個對象有一個關鍵字key和兩個指針(next和prev)。

4、Stack  棧

和隊列相似,一個帶有數據存儲特性的數據結構。

特性:存儲數據時先進后出的,棧只有一個出口,只能從棧頂部增加和移除元素。

5、Heap

一般情況下,堆叫二叉堆,近似完全二叉樹的數據結構。

特性:子節點的鍵值或者索引總是小於它的父節點,每個節點的左右子樹又是一個二叉堆,根節點最大的堆叫最大堆或者大根堆,最小的叫最小堆或者小根堆。

6、list  線性表

由零個或多個數據元素組成的有限序列。

特性:線性表是一個序列,0個元素構成的線性表是空表,第一個元素無先驅,最后一個元素無后繼,有長度,長度是元素的個數,長度有限。

7、queue  隊列

特性:先進先出(FIFO),並發中使用 ,可以安全的將對象從一個任務傳給另一個任務。

8、set 集合

特性:保存不重復元素。

9、map  字典

特性:關聯數組,也被叫做字典或者鍵值對。

10、graph  圖

特性:通常使用臨接矩陣和臨接表表示,前者易實現但是對於稀疏矩陣會浪費較多空間,后者使用鏈表的方式存儲信息但是對於圖搜索時間復雜度較高。

 


免責聲明!

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



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