- 11
- 0
- 约5.33万字
- 约 22页
- 2018-08-19 发布于湖北
- 举报
hash函数的设计优化[方案]
Hash函数的设计优化
天津南开中学 李羽修
【摘要】
Hash是一种在信息学竞赛中经常用到的数据结构。一个好的Hash函数可以很大程度上提高程序的整体时间效率和空间效率。本文对面向各种不同标本(关键值)的Hash函数进行讨论,并对多种常用的Hash函数进行了分析和总结。
【关键字】
Hash 函数,字符串,整数,实数,排列组合
【正文】
对于一个Hash函数,评价其优劣的标准应为随机性,即对任意一组标本,进入Hash表每一个单元(cell)之概率的平均程度,因为这个概率越平均,数据在表中的分布就越平均,表的空间利用率就越高。由于在竞赛中,标本的性质是无法预知的,因此数学推理将受到很大限制。我们用实验的方法研究这个随机性。
一、整数的Hash函数
常用的方法有三种:直接取余法、乘积取整法、平方取中法。下面我们对这三种方法分别进行讨论。以下假定我们的关键字是,Hash表的容量是,Hash函数为。
1.直接取余法
我们用关键字除以,取余数作为在Hash表中的位置。函数表达式可以写成:
。
例如,表容量,关键值,那么。该方法的好处是实现容易且速度快,是很常用的一种方法。但是如果选择的不好而偏偏标本又很特殊,那么数据在Hash中很容易扎堆而影响效率。
对于的选择,在经验上,我们一般选择不太接近的一个素数;如果关键字的值域较小,我们一般在此值域1.1~1.6倍范围内选择。例如的值域为,那么
您可能关注的文档
- 中国事业单位人事制度改革趋势分析(ppt 102) (人力资源 人事制度 薪资考勤 招聘面试).ppt
- 1986-2000年考研英语真题与答案.doc
- [设计]广州地铁人力资源管理hr建议书.doc
- [最新中考历史]重庆市江津区2012-2013学年度上期期末考试九年级历史试题.doc
- 20以内的退位减法复习整理ppt.ppt
- 27《父子骑驴》ppt课件2-西师大版三年级上册语文().ppt.ppt
- [指导]尼康d90使用指南.doc
- [中学]尼康d90使用指南.doc
- 【走向高考】2015年高考物理(人教版)一轮课后强化作业:4-1曲线运动 运动的合成与分解( 2014高考).doc
- 51单片机生产实习报告.doc
最近下载
- 雷龙鱼饲养手册.pdf VIP
- 昆明社区工作者招考真题及答案2025.pdf VIP
- 码垛机器人物流控制系统开发.docx VIP
- 摩托车科目一考试题库(江苏版).docx VIP
- ASTM B912-2018_不锈钢的电解抛光钝化的标准规范(中文).pdf VIP
- 考点02 定语从句(八大知识点梳理)-【全优新高考】2025年新高考英语一轮总复习培优全攻略(上海专用)(解析版).docx VIP
- 冻品类食材食材供货整体服务方案.docx VIP
- 运动损伤——踝关节损伤.pptx VIP
- 浙江省2015-2018年学考数学试题(word)含答案共8套.doc VIP
- 2009年高考语文试卷(全国Ⅰ卷)(解析卷).doc VIP
原创力文档

文档评论(0)