雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

淺談哈希表存儲(chǔ)效率一般不超過50%的原因

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊:

本文主要是講"哈希表的存儲(chǔ)效率一般不超過50%"的原因。

Hash Table 常用于頻繁進(jìn)行 key/value 模式的查找中。(查找模式,如匹配查找)

哈希表最大的優(yōu)點(diǎn)在于查找速度快,但存儲(chǔ)時(shí)可能發(fā)生collision(沖突)。

哈希表大多使用open addressing來解決collision,此時(shí)search的時(shí)間復(fù)雜度計(jì)算公式為:

1/( 1 - n/m )

其中,n與m分別表示存儲(chǔ)的記錄數(shù)與哈希表的長度,即裝填因子( load factor )

故,若哈希表半滿,即 n/m >= 1/2,則每次的search次數(shù)可能會(huì) >= 2

因此,為了保證Hash Table在 key/value 查找模式中的優(yōu)勢,一般,其存儲(chǔ)效率不會(huì)超過50%。

以上就是小編為大家?guī)淼臏\談哈希表存儲(chǔ)效率一般不超過50%的原因全部內(nèi)容了,希望大家多多支持我們~

上一篇:C++靜態(tài)成員變量和靜態(tài)成員函數(shù)的使用方法總結(jié)

欄    目:C語言

下一篇:c++中臨時(shí)變量不能作為非const的引用參數(shù)的方法

本文標(biāo)題:淺談哈希表存儲(chǔ)效率一般不超過50%的原因

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/1833.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有