跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 你真的了解海量数据最优解法吗?
未分類
14 5 月 2020

你真的了解海量数据最优解法吗?

你真的了解海量数据最优解法吗?

資深大佬 : hakunamatata11 10

大家都知道海量数据有很多的解法,方法不一定最优,不同的解法有不用的最佳适用场景。今天在这边我先分享其中一种解法:

Hashing

适用范围:快速查找,删除的基本数据结构,通常需要总数据量可以放入内存

基本原理及要点:

hash 函数选择,针对字符串,整数,排列,具体相应的 hash 方法。

碰撞处理,一种是 open hashing,也称为拉链法;另一种就是 closed hashing,也称开地址法,opened addressing 。

扩展:

d-left hashing 中的 d 是多个的意思,我们先简化这个问题,看一看 2-left hashing 。2-left hashing 指的是将一个哈希表分成长度相等的两半,分别叫做 T1 和 T2,给 T1 和 T2 分别配备一个哈希函数,h1 和 h2 。在存储一个新的 key 时,同时用两个哈希函数进行计算,得出两个地址 h1[key]和 h2[key]。这时需要检查 T1 中的 h1[key]位置和 T2 中的 h2[key]位置,哪一个位置已经存储的(有碰撞的) key 比较多,然后将新 key 存储在负载少的位置。如果两边一样多,比如两个位置都为空或者都存储了一个 key,就把新 key 存储在左边的 T1 子表中,2-left 也由此而来。在查找一个 key 时,必须进行两次 hash,同时查找两个位置。

问题实例:

海量日志数据,提取出某日访问百度次数最多的那个 IP 。IP 的数目还是有限的,最多 2^32 个,所以可以考虑使用 hash 将 ip 直接存入内存,然后进行统计。

除此之外,九章算法为正在准备明年春招的你赠送免费的《海量数据处理算法与面试题全集》,基础知识和刷题都覆盖到了~

这门原价$199 的课程,现在只要报名试听即可免费获得全系列课程!

参与方式:

戳我免费试听,即可免费解锁海量数据全系列课程**。

大佬有話說 (0)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具