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

HASH GAME - Online Skill Game ET 300哈希函数构造方法及其适用情况

发布时间:2025-05-06 13:13:38  点击量:

  HASH GAME - Online Skill Game GET 300

HASH GAME - Online Skill Game GET 300哈希函数构造方法及其适用情况

  查找的效率取决于查找过程中必要的比较次数,比较次数越多查找效率就越低,反之,则越高。理想的查找方法是无需比较,一次存取便能找到所查的记录。这就要求记录的关键字和它的存储位置有确定的对应关系,使每个关键字和唯一的存储位置相对应,这样在查找时就可以根据这个对应关系,找出给定关键字记录的存储位置。我们把这种对应关系称为哈希函数,由哈希函数得到的存储地址称为哈希地址,采用这种存储方式的存储结构称为哈希表。哈希函数的构造方法有很多种,下文将逐一探讨。

  当关键字位数很多且关键字中每一位的数字分布大致均匀时,可以将关键字分割成位数相同的几个部分,最后一部分的位数可以不同,然后取这几部分的叠加和(舍去进位)作为哈希地址,这就叫折叠法。按叠加的方法不同,折叠法可以分为移位叠加和间界叠加两种方法。移位叠加是将分割后的每一部分的最低位对齐,然后相加;间界叠加是从一端向另一端沿分割界相对折叠,然后对齐相加。例如关键字为0442205864,哈希地址为四位数,可将关键字分割为04、4220和5864三部分。移位叠加:address=04+4220+5864=0088,间界叠加:address=04+0224+5864=6092。

  在哈希表中,常常会出现不同的关键字值对应到同一个存储位置的现象,这就叫做冲突。即关键字key1≠key2,但address1=address2。发生冲突后,必须解决,也即必须寻找下一个可用的地址。哈希表的建立通常分为两个步骤:第一步,取出一个数据元素的关键字key,根据哈希函数计算其在哈希表中的存储地址D,若地址为D的存储空间还没有被占用,则将该数据元素存入,否则发生冲突,执行下一步;第二步,根据规定的冲突处理方法,计算关键字为key的数据元素之下一个存储地址,若该存储地址的存储空间没有被占用,则存入,否则继续执行第二步,直到找出一个空闲的存储空间为止。

【返回列表页】

顶部

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