海量数据处理主要涉及分治算法,其中包含排序、求TopK、以及查找重复的问题
(1)Top K
算法思路:
(1) 局部淘汰,用一个容器保存1000个,逐步遍历剩下的
(2) 分治,分100个文件
(3) Hash法去掉重复的
(4) 小顶堆
(2)重复问题
算法思路:
(1) 位图
(2) 布隆过滤器——比哈希表好,结构没有那么复杂。占用空间少
结合了位图和Hash表两者的优点,位图的优点是节省空间,但是只能处理整型值一类的问题,无法处理字符串一类的问题,而Hash表却恰巧解决了位图无法解决的问题
(3) 分治和位图
(3)排序问题
算法思路:
分治和位图。
网友评论