ZXAlgorithm - JZ海量數(shù)據(jù)處理算法

https://www.jiuzhang.com/tutorial/big-data-interview-questions
https://www.lintcode.com/ladder/47/

包括哪些方面馒索?
算法:外排序植捎,mapreduce鸣奔,非精確算法,概率算法,hash算法
數(shù)據(jù)結(jié)構(gòu):hash table,堆,布隆過(guò)濾器种远,位圖

C1 最高頻K項(xiàng)問(wèn)題

主要講了什么?
找出一個(gè)大文件或者數(shù)據(jù)流中出現(xiàn)頻率最高的K項(xiàng),由是否需要精確和是離線還是在線決定

K Closest Points
https://www.lintcode.com/problem/k-closest-points/description?_from=ladder&&fromId=47
https://www.lintcode.com/problem/k-closest-points/discuss?_from=ladder&&fromId=47

離線算法:

使用快排的算法顽耳,但是要掃兩遍坠敷,無(wú)法滿足數(shù)據(jù)流的算法
使用快選(基于快排的思路)O(N)
https://leetcode.com/problems/kth-largest-element-in-an-array/discuss/60306/Python-different-solutions-with-comments-(bubble-sort-selection-sort-heap-sort-and-quick-sort).
基于堆 O(klogN)
LintCode 練習(xí)地址
https://www.lintcode.com/problem/top-k-largest-numbers/discuss
https://www.jiuzhang.com/solution/top-k-largest-numbers/#tag-highlight-lang-python

從最大K項(xiàng)到最高頻K
先用Hash去存(key, frequency),然后用上面的最小堆的算法

在線算法:

LintCode 練習(xí)地址

最高頻K項(xiàng)
https://www.jiuzhang.com/tutorial/big-data-interview-questions/229
一邊計(jì)數(shù)一邊比較TopK
一個(gè)dict計(jì)數(shù)器胰耗,一個(gè)heap(里面存的是(key, count))(最小棧)
取topK限次,直接把這個(gè)heap給變成list
加入新的值,先變dict計(jì)數(shù)器柴灯,然后如果在heap里面卖漫,更新數(shù)組,否則判斷有沒(méi)有滿赠群,沒(méi)有滿也放進(jìn)去羊始,最后判斷新的值是不是比最小棧里面的top(即最小值)大,如果大的話放進(jìn)去

C2 Bloom filter

節(jié)省空間查描,但是存在FP問(wèn)題

  • 包含兩個(gè)部分
    1.k個(gè)完全獨(dú)立的hash 函數(shù)突委,magic number設(shè)置為31柏卤,37,41等等
    magic number不能設(shè)置的太性扔汀(增加碰撞)缘缚,太大(計(jì)算效率低),不是合數(shù)(每一個(gè)大于1的整數(shù)若不是質(zhì)數(shù)钧唐,就會(huì)是合數(shù)

    2.一個(gè)很大的數(shù)組
  • 分為兩種
    標(biāo)準(zhǔn)型:HashSet
    計(jì)數(shù)型:HashMap

標(biāo)準(zhǔn)型

boolean數(shù)組,k個(gè)哈希值匠襟,k個(gè)有false钝侠,肯定沒(méi)有
如果4個(gè)hash函數(shù),數(shù)組長(zhǎng)度和要存的個(gè)數(shù)40:1

計(jì)數(shù)型

int數(shù)組酸舍,k個(gè)哈希值帅韧,k個(gè)存的最小為預(yù)估次數(shù)比實(shí)際的數(shù)要大

C3 外排序算法

https://www.cnblogs.com/LUO77/p/5838206.html
大文件分割為小文件,各個(gè)歸并排序
https://leetcode.com/problems/merge-k-sorted-lists/
https://github.com/corvasto/Python-SS

C4 概率類(lèi)的大數(shù)據(jù)問(wèn)題

如何在數(shù)據(jù)流中等概率取出M個(gè)元素
等概率挑出文件中的一行
先選出1行啃勉,剩下的每次能替代的概率是1/k
等概率的挑選Google搜索記錄日志中的一百萬(wàn)條中文搜索記錄
M是出現(xiàn)過(guò)了多少條中文記錄忽舟,N是需要多少條中文記錄
如果buffer不滿先寫(xiě)進(jìn)去,如果滿了淮阐,以N/M的概率隨機(jī)替換原來(lái)的
random.randint(1, M) <= N

C5 其他和題目

題目:
http://www.lintcode.com/ladder/47/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叮阅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子泣特,更是在濱河造成了極大的恐慌浩姥,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件状您,死亡現(xiàn)場(chǎng)離奇詭異勒叠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)膏孟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)眯分,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人柒桑,你說(shuō)我怎么就攤上這事弊决。” “怎么了魁淳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵丢氢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我先改,道長(zhǎng)疚察,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任仇奶,我火速辦了婚禮貌嫡,結(jié)果婚禮上比驻,老公的妹妹穿的比我還像新娘。我一直安慰自己岛抄,他們只是感情好别惦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著夫椭,像睡著了一般掸掸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蹭秋,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天扰付,我揣著相機(jī)與錄音,去河邊找鬼仁讨。 笑死羽莺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洞豁。 我是一名探鬼主播盐固,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丈挟!你這毒婦竟也來(lái)了刁卜?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤曙咽,失蹤者是張志新(化名)和其女友劉穎长酗,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體桐绒,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夺脾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了茉继。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咧叭。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖烁竭,靈堂內(nèi)的尸體忽然破棺而出菲茬,到底是詐尸還是另有隱情,我是刑警寧澤派撕,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布婉弹,位于F島的核電站,受9級(jí)特大地震影響终吼,放射性物質(zhì)發(fā)生泄漏镀赌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一际跪、第九天 我趴在偏房一處隱蔽的房頂上張望商佛。 院中可真熱鬧喉钢,春花似錦、人聲如沸良姆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)玛追。三九已至税课,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痊剖,已是汗流浹背韩玩。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邢笙,地道東北人啸如。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓侍匙,卻偏偏與公主長(zhǎng)得像氮惯,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子想暗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容