查詢
數據結構 | 時間複雜度 | 備註 |
---|---|---|
二叉檢索樹 | O(log n) | - |
跳錶 | O(log n) | 理想情況下 |
數組 | O(log n) | - |
- 由於有內存局部性原理,數組的查詢效率是高於樹和跳錶的。甚至在小數據的情況下,都有可能數組的移動代價也不高(CPU緩存 + 內存拷貝)。
- 範圍查找數組效率會遠高於跳錶和樹:數組能快速處理大段區域(比如使用內存拷貝技術),再疊加局部性原理
存儲空間
數據結構 | 佔用空間 | 備註 |
---|---|---|
二叉檢索樹 | 大 | - |
跳錶 | 大 | - |
數組 | 小 | - |
參考資料
- 極客時間-檢索技術核心20講 02 | 非線性結構檢索:數據頻繁變化的情況下,如何高效檢索?