在大部分的主流程序設計語言中(例如C/C++,Java),鏈表、數組都存儲相同類型的元素。直接以最簡陋地方式,一個元素一個元素地依次遍歷(不使用任何技巧,例如緩存行對齊),大部分情況下,鏈表要比數組遍歷速度更快,即使慢,也一點都不明顯。有的人提到:可能是連續生成的鏈表節點在內存中的物理分布比較緊湊導致的。但問題是,數組元素不應該一直都是完全緊湊的嘛?也不應該出現數組比鏈表慢的情況呀?補充完善一下這個問題吧:①鏈表的節點都是連續建立并添加的;②在存儲元素都是指針/引用的情況下,Cache仍偏心數組嗎?③遍歷的同時,肯定都是會進行其它操作的,哪有光賦值,不干事的呀?④沒有優化!就是傳統的循環!⑤在不同數量級下,數組有時會更快點,但是總體分布情況是鏈表稍快。
上一篇福建有幾個邊防檢查站?
下一篇福州哪里有花市?