有关算法导论中全域散列函数的疑问
小弟最近在看算法导论,有关散列表中全域散列函数有点疑问,
以140页 “设计一个全域散列函数类为例”
书上写的 ha,b(k) = ((ak+b) mod p) mod m
请问 a,b是如何生成的,如果是每次插入散列表时调用随机函数生成的,那么在查找时如何查找?
换句话说,在查找的时候,肯定还要生成新的a,b,但是新生成的a,b和原来插入时a,b不同了,如何查找原来a,b生成的关键字呢?
如果是在散列表初始化的时候用随机函数生成的,那么这样a,b都定下了,哪来下文中 "Hp,m中共有p(p-1)个散列函数"之说?(因为a,b都定死了)
求达人解惑~