數(shù)組是常用的數(shù)據(jù)結(jié)構(gòu)男娄。數(shù)組順序是由下標(biāo)決定的,因此訪問(wèn)數(shù)組的元素速度很快模闲。但是建瘫,往數(shù)組添加或刪除元素時(shí),需要把數(shù)組中的其他元素向前或向后移動(dòng)啰脚,速度比較慢。
在元素很多实夹,經(jīng)常要添加或刪除元素橄浓,但不經(jīng)常訪問(wèn)元素的場(chǎng)景下亮航,用數(shù)組的性能比較低。這種場(chǎng)景下缴淋,可以用鏈表准给。
鏈表介紹
鏈表是一種物理存儲(chǔ)單元上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu)圆存,數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的。
鏈表的特點(diǎn)和數(shù)組相反:訪問(wèn)元素慢仇哆,新增或刪除元素快夫植。
鏈表的常用使用場(chǎng)景包括:
- LRU 緩存淘汰算法讹剔。
- 解決哈希沖突的哈希表。
- 各類緩沖池 和 棧 的實(shí)現(xiàn)延欠。
好吧陌兑,好像都和前端都沒(méi)有關(guān)系由捎。使用大型數(shù)據(jù)集時(shí)兔综,鏈表的大部分性能提升都會(huì)很明顯狞玛。我們通常不會(huì)在前端處理這種大小的數(shù)據(jù)集。
鏈表在前端的主要應(yīng)用場(chǎng)景是: 面試心肪,哈哈锭亏。面試中,考鏈表硬鞍,可以了解面試者程序設(shè)計(jì)能力和實(shí)操能力。下面是一些鏈表的題目固该,來(lái)練練手吧:
- 單向鏈表锅减,雙向鏈表的實(shí)現(xiàn)伐坏。
- 反轉(zhuǎn)鏈表。
- 使用循環(huán)鏈表解決約瑟夫環(huán)問(wèn)題著淆。