有关算法导论中全域散列函数的疑问

zc198801 2010-08-08 07:48:53
小弟最近在看算法导论,有关散列表中全域散列函数有点疑问,
以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都定死了)

求达人解惑~
...全文
249 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zc198801 2010-08-08
  • 打赏
  • 举报
回复
谢谢gogdizzy,原来的理解有点问题,网上曾经看了一段这个相关的代码,感觉被误导了
  • 打赏
  • 举报
回复
当然是定死的,他是告诉你a,b都可以取哪些值,但是一旦你取了,以后就都要用一样的,否则当然就乱了。
zc198801 2010-08-08
  • 打赏
  • 举报
回复
自己顶一下,没人来回答么

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧