索引存储模型-二分查找
生活随笔
收集整理的這篇文章主要介紹了
索引存储模型-二分查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
雙十一過去之后,你女朋友跟你玩了一個猜數字的游戲。
猜猜我昨天買了多少錢,給你五次機會。
10000?低了。30000?高了。接下來你會猜多少?
20000。為什么你不猜11000,也不猜29000 呢?
其實這個就是二分查找的一種思想,也叫折半查找,每一次,我們都把候選數據縮小了一半。如果數據已經排過序的話,這種方式效率比較高。
所以第一個,我們可以考慮用有序數組作為索引的數據結構。
有序數組的等值查詢和比較查詢效率非常高,但是更新數據的時候會出現一個問題,可能要挪動大量的數據(改變index),所以只適合存儲靜態的數據。
為了支持頻繁的修改,比如插入數據,我們需要采用鏈表。鏈表的話,如果是單鏈表,它的查找效率還是不夠高。
所以,有沒有可以使用二分查找的鏈表呢?
為了解決這個問題,BST(Binary Search Tree)也就是我們所說的二叉查找樹誕生了。
?
總結
以上是生活随笔為你收集整理的索引存储模型-二分查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么创建一个索引?
- 下一篇: 二叉查找树(BST Binary Sea