小弟我如何觉得"全域散列"是不可能做到的,大家斧正
我怎么觉得"全域散列"是不可能做到的,大家斧正。
《算法导论》的第11章,"全域散列"是这样定义的:
在计算散列值的时候,为了尽量避免冲突,采用一族散列函数,每次随机的取一个,构造散列表。
-----------------------------------------------------
问题是: 查找的时候,我怎么知道应该选择哪个散列函数,算出来的才是构造时候的h(x)呢? 对于查找而言,我们是不知道,构造散列表的时候,哪些x对应哪些key啊。
------解决方案--------------------
可以通过试验选取比较适合你那种场景的散列函数
------解决方案--------------------
散列函数的随机选择是针对某次散列表的应用,不是一次简单的插入或查找操作。每次应用都应该用同一个散列函数,构造的时候((ak+b)mod p)mod m中,ab应该用静态变量.
《算法导论》的第11章,"全域散列"是这样定义的:
在计算散列值的时候,为了尽量避免冲突,采用一族散列函数,每次随机的取一个,构造散列表。
-----------------------------------------------------
问题是: 查找的时候,我怎么知道应该选择哪个散列函数,算出来的才是构造时候的h(x)呢? 对于查找而言,我们是不知道,构造散列表的时候,哪些x对应哪些key啊。
------解决方案--------------------
可以通过试验选取比较适合你那种场景的散列函数
------解决方案--------------------
散列函数的随机选择是针对某次散列表的应用,不是一次简单的插入或查找操作。每次应用都应该用同一个散列函数,构造的时候((ak+b)mod p)mod m中,ab应该用静态变量.