索引存储和散列存储(哈希)的区别吧
生活随笔
收集整理的這篇文章主要介紹了
索引存储和散列存储(哈希)的区别吧
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
兩者都一定的相似性,可以加快檢索速度,是一種存儲結構。
但是索引的方式相當于給一個本書加一個目錄,這樣子就可以快速找到每一個章節。好處就是增加檢索速度,壞處就是增加了書的厚度,而且如果改變了書的內容,目錄也要動態更新。
索引底層數據結構一般是B+樹。
B+樹的優點就是層數少,能夠快速查找。當然也有缺點:就是插入的時候速度比順序插入慢。
散列(哈希)可以不是連續地存儲,它不是相當于一本書,而是通過某一個散列函數,把原本書的每一頁放到某一本空白筆記本上。因為能通過關系查找到,也有目錄,但是增加改動基本不用動態地改全部目錄。
構建散列函數的方法:
1.直接尋址法
2.數字分析法
3.平方取中法
4.折疊法
5.隨機法
6.除取余數法
哈希沖突:無限的數據會有有限的計算結果,即多對一的關系,稱為哈希沖突。
解決哈希沖突的辦法:
1.開放尋址法
①線性探查法;
②二次探查法;
2.鏈地址法
3.再散列法
4.建立公共溢出區
總結
以上是生活随笔為你收集整理的索引存储和散列存储(哈希)的区别吧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: *64.银行家算法
- 下一篇: 67.数据库系统的三级模式