发布时间:2025-01-26 19:55:57 点击量:
HASH GAME - Online Skill Game GET 300
:(散列)查找基本思想:在记录的存储地址和它的关键字之间建立一个确定的对应关系;这样,不经过比较,一次存取就能得到所查元素的查找方法。例30个地区的各民族人口统计表以编号作关键字,构造哈希函数:H(key)=keyH(1)=1,H(2)=2以地区作关键字,取地区名称第一个拼音字母的序号作哈希函数:H(Beijing)=2H(Shanghai)=19H(Shenyang)=:在记录的关键字与记录的存储地址之间建立的一种对应关系叫哈希函数。哈希函数是一种映象,是从关键字空间到存储地址空间的一种映象。可写成:addr(ai)=H(ki),其中ai是表中一个元素,ki是ai的关键字。addr(ai)是ai的地址,:是应用哈希函数,由记录的关键字确定记录在表中的地址,并将记录放入此地址构成的查找表。哈希查找(又叫散列查找):利用哈希函数进行查找的过程叫哈希查找。:对于不同的关键字ki、kj,若kikj,但H(ki)=H(kj)的现象叫冲突(collision)。同义词:具有相同函数值的两个不同的关键字,称为该哈希函数的同义词。哈希函数通常是一种压缩映象,所以冲突不可避免,只能尽量减少;当冲突发生时,应该有处理冲突的方法。:散列表的空间范围,即确定散列函数的值域;,使得对于所有可能的元素(记录的关键字),函数值均在散列表的地址空间范围内,且出现冲突的可能尽量小;。即当冲突出现时如何解决。,其设定很灵活,hash的原义为”杂凑”,只要使任何关键字的哈希函数值都落在表长允许的范围之内即可。哈希函数“好坏”的主要评价因素有:◆散列函数的构造简单;◆能“均匀”地将散列表中的关键字映射到地址空间。所谓“均匀”(uniform)是指发生冲突的可能性尽可能最少。通过经验总结出以下5种方法:1直接定址法取关键字或关键字的某个线性函数作哈希地址,即H(key)=key或H(key)=akey+b(a,b为常数)特点:直接定址法所得地址集合与关键字集合大小相等,不会发生冲突,但实际中很少使用。原因:许多情况下关键字的取值范围很大,,取关键字的若干位或组合作为哈希地址。适用于关键字位数比哈希地址位数大,且可能出现的关键字事先知道的情况。:设有80个记录,关键字为8位十进制数,哈希地址为2位十进制数。┇9355分析:只取8只取1只取3、4只取2、7、5数字分布近乎随机所以:取任意两位或两位与另两位的叠加作哈希地址