Web開發程序應用

3. Linked List(鏈表)

顧名思義,鏈表是一種鏈式數據結構,鏈上的每個節點包含兩種信息:節點本身的數據和指向下一個節點的指針。鏈表和傳統的數組都是線性的數據結構,存儲的都是一個序列的數據,但也有很多區別,如下表:

比較維度數組鏈表

內存分配

靜態內存分配,編譯時分配且連續

動態內存分配,運行時分配且不連續

元素獲取

通過Index獲取,速度較快

通過遍歷順序訪問,速度較慢

添加刪除元素

因為內存位置連續且固定,速度較慢

因為內存分配靈活,只有一個開銷步驟,速度更快

空間結構

可以是一維或者多維數組

可以是單向、雙向或者循環鏈表

一個單向鏈表通常具有以下方法:

size:返回鏈表中節點的個數

head:返回鏈表中的頭部元素

add:向鏈表尾部增加一個節點

remove:刪除某個節點

indexOf:返回某個節點的index

elementAt:返回某個index處的節點

addAt:在某個index處插入一個節點

removeAt:刪除某個index處的節點

單向鏈表的Javascript實現:

/** * 鏈表中的節點 */function Node(ele

longtestyan


分享到:


相關文章: