哈希娱乐计算式查找(哈希查找及性能分析)
哈希游戏作为一种新兴的区块链应用,它巧妙地结合了加密技术与娱乐,为玩家提供了全新的体验。万达哈希平台凭借其独特的彩票玩法和创新的哈希算法,公平公正-方便快捷!万达哈希,哈希游戏平台,哈希娱乐,哈希游戏
手工计算在等概率情况下查找不成功的平均查找长度公式 手工计算等概率情况下查找不成功的平均查找长度规则如下:
其中 Ci 为哈希函数取值为 i 时查找不成功的比较次数。 查找不成功的情况:(1)遇到空单元,(2)按解决冲突的方法完全探测一遍 后仍未找到。0 到 r-1 相当于 r 个不成功查找的入口,从每个入口进入后,直到 确定查找不成功为止,其关键字的比较次数就是与该入口对应的不成功查找长度。 据此计算公式,对下图所示的哈希表(采用线性探测再散列法处理冲突), 可计算出在等概率情况下其查找不成功的平均查找长度为:
查找 19 时,通过计算 H(19)= 6,ht[6].key 非空且值为 19 查找成功,则 查找关键字 19,仅需要计算 1 次地址就可以找到。
查找 14 时,通过计算 H(14)= 1,ht[1].key 非空且值为 14 查找成功,则 查找关键字 14,仅需要计算 1 次地址就可以找到。
查找 23 时,通过计算 H(23)=10,ht[10].key 非空且值为 23 查找成功,则 查找关键字 23 ,仅需要计算 1 次地址就可以找到。
从以上讨论可知:哈希表的平均查找长度是装填因子α的函数,而与待散列 元素数目 n 无关。因此,无论元素数目 n 有多大,都能通过调整α,使哈希表的 平均查找长度较小。
对于一个具体的哈希表,通常采用直接计算的方法求其平均查找长度。 例已知一组关键字序列(19,14,23,01,68,20,84,27,55,11,10, 79)给出按哈希函数 H(key)=key % 13 和线性探测处理冲突构造所得哈希表 ht[0..15]。 如下图所示。其中,每个关键字下面带圈的数字,是放置该关键字时所进行 的地址计算次数,或者说是放置该关键字时所进行的关键字比较次数(同时也是 查找该关键字时所进行的关键字比较次数)。
由于冲突的存在,哈希法仍需进行关键字比较,因此,仍需用平均查找长度 来评价哈希法的查找性能。哈希法中影响关键字比较次数的因素有三个:哈希函 数、处理冲突的方法以及哈希表的装填因子。哈希表的装填因子α的定义如下:
α可描述哈希表的装满程度。显然,α越小,发生冲突的可能性越小,而α越大, 发生冲突的可能性也越大。假定哈希函数是均匀的,则影响平均查找长度的因素 只剩下两个:处理冲突的方法以及α。以下按处理冲突的不同方法,分别列出相 应的平均查找长度的近似公式:
手工计算等概率情况下查找成功的平均查找长度公式 手工计算等概率情况下查找成功的平均查找长度规则如下:
其中 Ci 为查找第 i 个元素时所需的比较次数(即置入第 i 个元素时所需的比较次 数)。
为便于计算,在上图哈希表的每个关键字下方标出了查找该关键字时所进行 的关键字比较次数。
据此计算公式,对下图所示采用链地址法处理冲突的哈希表,可计算出在等 概率情况下其查找成功的平均查找长度为:
第 5 讲 计算式查找(哈希查找及性能分析)——教学讲义 一、哈希表的查找过程
哈希表的查找过程与哈希表的创建过程是一致的。假设要查找关键字为 K 的 元素,则查找过程如下: [算法思想]: (1) 首先计算 h0= hash(K); (2) 如果单元 h0 为空,则所查元素不存在; (3) 如果单元 h0 中元素的关键字为 K,则找到所查元素; (4) 否则重复下述解决冲突的过程:
a. 按解决冲突的方法,找出下一个哈希地址 hi ; b. 如果单元 hi 为空,则所查元素不存在; c. 如果单元 hi 中元素的关键字为 K,则找到所查元素。