发明名称 使用位移表建立一个完备的散列
摘要 变换大范围内一个不相邻数值子集诸如选择的单代码码点为一个具有完备散列的相邻的或大部分相邻的较小范围的方法和机构。该大范围数值组织为页和该页中的位移的一个二维位图矩阵(38)。如果该值在此子集内,则矩阵中的位等于1;如果不在,则为0。然后通过必要地移位每一页以避免与其它页冲突,而把这些页彼此叠放到一个一维位图(40)中。记录移位数量,并用于散列计算,其中大范围的一个值首先分割为其页号码和该页中的位移。然后通过查找该页移位数量并将该移位数量加到该页中的位移而将该值散列为密集子集范围的值。
申请公布号 CN1206604C 申请公布日期 2005.06.15
申请号 CN98801108.5 申请日期 1998.06.04
申请人 微软公司 发明人 J·R·本内特
分类号 G06F17/30 主分类号 G06F17/30
代理机构 中国专利代理(香港)有限公司 代理人 王勇;王岳
主权项 1.在包括一个数值范围的计算机系统中利用一个完备散列变换该范围内一个不相邻数值子集为一个相邻的或基本相邻的较小范围的方法,包括步骤:从该数值范围中选择数值子集;组织该范围为一个二维矩阵,该矩阵的一维表示页,而另一维表示这些页中的位移,在该矩阵中在一页和该页中的位移的每一交叉处包括映射信息,该信息指示由该交叉表示的数值是否是在该子集内的一个所选择的数值;以及变换该矩阵为一个一维数组,这是通过选择每一页、测试每一页上的映射信息与在该一维数组内的映射信息的冲突、移动每一页一定数量直到无冲突被检测到、在移位的位置上将该页中的映射信息叠加到一维数组上、以及记录该位移量而进行的。
地址 美国华盛顿