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