topK
- 1.分治法
例如:将大数据平均分成100份,分别找出topK,再从100*K中找出topK,可以利用快排。 - 2.小顶堆法
例如:建一个有K个元素的小顶堆,遍历剩下的元素,与root结点比较,大的话就留下,重新建堆,再循环。最终得到topK。 - 3.MapReduce分布式法
例如:一个Map函数,两个Reduce函数,将数据交给多台机器处理。但是不能随便的分,要根据hash后的值,让不同的机器处理一个数值范围。
重复元素问题
- 位图法 : 遍历一遍数据,将数据映射到数组中,对应数组下标,出现次数对应数组元素值,大于二的就是重复的。
排序问题
- 1.数据库排序法 : 将文件导入数据库,采用数据库索引排序。不过效率很慢。
- 2.位图法: 遍历一遍数据,将数据映射到数组中,对应数组下标,遍历一边数组,按下标输出即可。