联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

毕业设计-算法合集之《Hash函数的设计优化HASH GAME - Online Skill Game ET 300

发布时间:2025-10-10 12:41:16  点击量:

  HASH GAME - Online Skill Game GET 300

毕业设计-算法合集之《Hash函数的设计优化HASH GAME - Online Skill Game GET 300

  Hash 函数的设计优化 天津南开中学 李羽修 【摘要】 Hash 是一种在信息学竞赛中经常用到的数据结构。 一个好的 Hash 函数可以很大程度上提高程序的整体时间效率和空间效率。 本文对面向各种不同标本(关键值) 的 Hash 函数进行讨论, 并对多种常用的 Hash 函数进行了分析和总结。 【关键字】 Hash 函数, 字符串, 整数, 实数, 排列组合 【正文】 对于一个 Hash 函数, 评价其优劣的标准应为表每一个单元(cell) 之, 即对任意一组标本, 进入 Hash, 因为这个概率越平均, 数据在表中的分布就越平均, 表的空间利用率就越高。 由于在竞赛中, 标本的性质是无法预知的, 因此...

  Hash 函数的设计优化 天津南开中学 李羽修 【摘要】 Hash 是一种在信息学竞赛中经常用到的数据结构。 一个好的 Hash 函数可以很大程度上提高程序的整体时间效率和空间效率。 本文对面向各种不同标本(关键值) 的 Hash 函数进行讨论, 并对多种常用的 Hash 函数进行了分析和总结。 【关键字】 Hash 函数, 字符串, 整数, 实数, 排列组合 【正文】 对于一个 Hash 函数, 评价其优劣的标准应为表每一个单元(cell) 之, 即对任意一组标本, 进入 Hash, 因为这个概率越平均, 数据在表中的分布就越平均, 表的空间利用率就越高。 由于在竞赛中, 标本的性质是无法预知的, 因此数学推理将受到很大限制。 我们用实验的方法研究这个随机性。 Hash 常用的方法有三种: 直接取余法、 乘积取整法、 平方取中法。 下面我们对这三种方法分别进行讨论。 以下假定我们的关键字是k , Hash 表的容量是M , Hash 函数为   kh。 1 我们用关键字k 除以 M , 取余数作为在 Hash 表中的位置。 函数表达式可以写成:  kMkhmod。 例如, 表容量12M, 关键值100k, 那么  4kh。 该方法的好处是实现容易且速度快, 是很常用的一种方法。 但是如果 M 选择的不好而偏偏标本又很特殊, 那么数据在 Hash中很容易扎堆而影响效率。 对于 M 的选择, 在经验上, 我们一般选择不太接近n2 的一个素数; 如果关键字的值域较小, 我们一般在此值域 1.1~1.6 倍范围内选择。 例如 k 的值域为600, 0, 那么701M即为一个不错的选择。 竞赛的时候可以写一个素数生成器或干脆自己写一个“比较像素数” 的数。 我用 4000 个数插入一个容量为 701 的 Hash 表, 得到的结果是: 测试数据 随机数据 最小单元容量: 0 连续数据 5

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: