哈希游戏- 哈希游戏平台- 哈希游戏官方网站
【正文】 同的几部分,然后将这几部分叠加,舍去进位作为哈希地址。 间界叠加 : 从一端向令一端沿分割界来回折叠,然后相加 。 位数由表长决定 3 五、 除留余数法 当关键字 k为整数时,用关键字 除以一个整数 p 所得余数作为哈希的地址。 一 . 开放地址法 : 哈希表的存储结构: typedef struct { KeyType key; //关键字成员 … ; //其它成员 } elemtype typedef elemtype hashtable[m] ; 5 利用下面的公式求 “下一个 ”地址。 缺点: 会产生二次聚集。 假设哈希地址在区间 [0 .. m1]上, 则哈希表为一个 指针数组 。 另设向量 overtable[V]为溢出表。 0 1 2 3 4 5 6 7 8 9 10 基本表 a d 0 1 2 3 4 5 6 7 8 9 10 溢出表 e f d1 d2 f1 g 14 哈希表的查找及分析 一 .哈希表的查找 查找过程和建立哈希表的过程基本一致。 (2) 相应地址上没有记录,则查找不成功。 ②不相等,则根据造表时设定的处理冲突的 方法找 “下一地址 ”,直到哈希表中某个位置 为空或者表中的关键字与给定值相同为止。 (1)查找成功时的平均查找长度 ①线性探测 ASLl ≈ ②随机探测、二次探测 ASLr ≈ ③链地址法 ASLc ≈ )1( 1 121 )ln(1 21 17 例:已知一个含有 100个记录的表,关键字为中国人姓氏的拼音,请给出此表的一个哈希表设计方案,要求它在等概率情况下查找成功的平均查找长度不超过 3。 选择 hash函数: hash(key) = 5*(i1) + L 其中, i为第一个字母在字母表中的序号, L为关键字