數組是常用的數據結構。數組順序是由下標決定的,因此訪問數組的元素速度很快。但是,往數組添加或刪除元素時,需要把數組中的其他元素向前或向後移動,速度比較慢。
在元素很多,經常要添加或刪除元素,但不經常訪問元素的場景下,用數組的性能比較低。這種場景下,可以用鏈表。
鏈表介紹
鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。
鏈表的特點和數組相反:訪問元素慢,新增或刪除元素快。
鏈表的常用使用場景包括:
- LRU 緩存淘汰算法。
- 解決哈希衝突的哈希表。
- 各類緩衝池 和 棧 的實現。
好吧,好像都和前端都沒有關係。使用大型數據集時,鏈表的大部分性能提升都會很明顯。我們通常不會在前端處理這種大小的數據集。
鏈表在前端的主要應用場景是: 面試,哈哈。面試中,考鏈表,可以瞭解面試者程序設計能力和實操能力。下面是一些鏈表的題目,來練練手吧:
- 單向鏈表,雙向鏈表的實現。
- 反轉鏈表。
- 使用循環鏈表解決約瑟夫環問題。