哈希表存储效率一般不超过50%
2016-10-01 14:28
253 查看
Hash Table 常用于频繁进行 key/value 模式的查找中。(查找模式,如匹配查找)
哈希表最大的优点在于查找速度快,但存储时可能发生collision(冲突)。
哈希表大多使用open addressing来解决collision,此时search的时间复杂度计算公式为:
1/( 1 - n/m )
其中,n与m分别表示存储的记录数与哈希表的长度,即装填因子( load factor )
故,若哈希表半满,即 n/m >= 1/2,则每次的search次数可能会 >= 2
因此,为了保证Hash Table在 key/value 查找模式中的优势,一般,其存储效率不会超过50%。
哈希表最大的优点在于查找速度快,但存储时可能发生collision(冲突)。
哈希表大多使用open addressing来解决collision,此时search的时间复杂度计算公式为:
1/( 1 - n/m )
其中,n与m分别表示存储的记录数与哈希表的长度,即装填因子( load factor )
故,若哈希表半满,即 n/m >= 1/2,则每次的search次数可能会 >= 2
因此,为了保证Hash Table在 key/value 查找模式中的优势,一般,其存储效率不会超过50%。
相关文章推荐
- 浅谈哈希表存储效率一般不超过50%的原因
- 哈希表存储效率50%的原因
- 哈希表存储效率50%的原因
- 问:当前计算机系统一般会采用层次结构存储数据,请介绍下典型计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率?
- 把哈希表存储到数据库中
- 一个提供数据存储和查询服务的分布式中间件需要考虑的一般问题
- 利用手势放大图片,并限制图片不超过边界,一般用于大图查看
- 算法效率的度量和存储空间需求
- 提高二维矢量绘图效率之一般做法
- win7运行太慢?win7太卡?换wes7吧,体验飞一般的运行效率
- 抓取存储quota超过80%的users
- 用单循环链表存储一个环上的数据,并计算任意两个相邻元素之差是否超过2
- 不用存储实现的分页,效率和存储过程一样。
- 一般常量和字符串常量在内存中的存储
- 编写一个程序读入一行输入,然后反向打印该行,您可以把输入存储在一个char数组中: 假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次 读入一个字符,而且当您按下回车键时会产生换行符(/n)
- [Baidu] 数组中,有三个数出现超过 1/ 4,求出这三个数 。 要求效率O(n)
- 我国超过50%用户使用带宽在4M以上
- 分页存储过程效率对比
- 弄清楚这个三角关系,工作效率提高50%
- 哈希表存储数据结构原理