登录/注册
下载豆瓣客户端
豆瓣 6.0 全新发布 ×

豆瓣

扫码直接下载

iPhone · Android
  • 豆瓣
  • 读书
  • 电影
  • 音乐
  • 播客
  • 同城
  • 小组
  • 阅读
  • FM
  • 时间
  • 豆品
豆瓣读书
搜索:
  • 购书单
  • 电子图书
  • 2024年度榜单
  • 2024年度报告

完美哈希的应用场景

嗑樂貓 2011-06-04 02:06:53

完美哈希虽然做到了查询时间复杂度O(1),但是在建立映射表时就比较大费周折了,要随机的产生映射函数。
所以,正如书中所言,是一种适合静态数据的访问的数据结构。树上的例子是编译器的程序语言保留字集合、还有CD-ROM上的文件查询。
首先是,实际真的有人这么实现么?感觉有点大材小用。
第二,有没有其他什么应用场景,使用完美哈希具有较强的优势?


赞
转发
回应 只看楼主
flyingghost
2013-06-07 11:44:55 flyingghost

浏览器项目中,HTML文档解析步骤。
解析html得到一个字符串,需要根据字符串来判别是否有效html标签/属性,并生成相应对象。
最朴实方案:
if (token == "img")
elseif (token == "table")
elseif .....

使用完美hash来做,效率提升在10倍左右。

赞(1)
>
bj015852
2015-07-14 18:04:38 bj015852

经过我测试,哈希表建的比较大,在比较随机的情况下性能并不差。即便哈希表快满了,开始有冲突了,跳转的次数的期望也是比较小的(1/(1-a)),一般情况也就1到2次撑死了4次。所以我觉得并不需要完美哈希这玩意,没什么特别强的优势。上面说的浏览器那个什么的,个人认为用普通的哈希表也完全能够胜任的。

赞(1)
>

> 我来回应

> 去算法导论(原书第2版)的论坛

最新讨论 · · · · · · (全部)

有人有这本书的答案么?(chaseh)

别买翻译的第三版(七星之城)

我想在github上建个repo来管理这本书的读书笔记(啊啊啊啊啊啊)

直接去听作者讲的课吧!(小马)

刚开始看,有没有人愿意一起学习,有问题互相讨论?(白轻扬)

© 2005-2025 douban.com, all rights reserved 北京豆网科技有限公司 关于豆瓣 · 在豆瓣工作 · 联系我们 · 法律声明 · 帮助中心 · 图书馆合作 · 移动应用