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