在數週前所發表的博文《大資料下的topk演算法》中介紹了求解大資料時代中幾乎是最為經典的topk的過程。雖然大資料技術使得大規模資料下的topk問題得到了有效的解決,但是對於一些該問題的拓展,單單靠大資料技術是無法獲得令人滿意的解決方案。本文所述的多維資料下的topk問題就是這一類問題。如果該演算法直接採用現有的topk解決方案,那麼一次又一次的執行大資料的過程將會使演算法的求解變得令人感到無比繁瑣且尷尬。
更多資訊,參見作者個人主頁jianping cai's research page。
大資料Top K 總結
目錄 top k 問題 1億個數字中找出最大或最小的前100個數字 方法1 全部排序 方法2 區域性淘汰法 插入容器後的操作 區域性淘汰法的去重 方法3 分治法 分治 快排劃分 分治 排序 分治 堆排序 合併結果 方法4 hash法 bitmap 計數排序 方法5 最小堆 實際場景 1 單機 單核 ...
大資料處理之(top k)
top k 簡介 在大量資料中找出重複次數最多的前k個。問題分析 聽起來這個問題十分簡單,只需對這些資料進行一次排序即可得到前k個。如果這樣的話,首先得定義乙個資料結構來儲存這些資料,大量的資料會消耗過大的程序資源,甚至 耗盡 程序的資源。還有乙個問題是排序的時間複雜度是非常高的,一般來說,較快的排...
海量資料Top K演算法(C實現)
最近2天受到 的影響,從頭開始實現了這個演算法。收穫還是挺大的 1 實現了hash鍊錶 2 實現了堆 3 熟悉了c語言的檔案操作 海量資料處理的top k 演算法就是在很大的檔案中找出重複出現次數最多的前k個字串 如果資料可以一次讀入記憶體,那麼可以按照如下思路來解決 1 首先遍歷檔案,將其加入ha...