3. Linked List(鏈表)
顧名思義,鏈表是一種鏈式數據結構,鏈上的每個節點包含兩種信息:節點本身的數據和指向下一個節點的指針。鏈表和傳統的數組都是線性的數據結構,存儲的都是一個序列的數據,但也有很多區別,如下表:
比較維度數組鏈表
內存分配
靜態內存分配,編譯時分配且連續
動態內存分配,運行時分配且不連續
元素獲取
通過Index獲取,速度較快
通過遍歷順序訪問,速度較慢
添加刪除元素
因為內存位置連續且固定,速度較慢
因為內存分配靈活,只有一個開銷步驟,速度更快
空間結構
可以是一維或者多維數組
可以是單向、雙向或者循環鏈表
一個單向鏈表通常具有以下方法:
size:返回鏈表中節點的個數
head:返回鏈表中的頭部元素
add:向鏈表尾部增加一個節點
remove:刪除某個節點
indexOf:返回某個節點的index
elementAt:返回某個index處的節點
addAt:在某個index處插入一個節點
removeAt:刪除某個index處的節點
單向鏈表的Javascript實現:
/** * 鏈表中的節點 */function Node(ele
longtestyan