方法一:
通过哈希算法,将10亿个电话号码按照哈希值落在多个文件中,
重复的电话号码有相同的哈希值,肯定位于一个文件中,
这样就可以分别对每个文件排序删除重复的电话号码。
方法二:
使用位图来进行处理。比如说这10亿个数的范围为【0-10亿】,那么就申请一个10亿的数组,
数组类型为boolen,只有0和1,0表示没有,1表示有。
这样自然而然的就删掉了重复的部分。
本文介绍两种有效处理10亿个电话号码中重复数据的方法:一是利用哈希算法将数据分布到多个文件中并进行排序去除重复;二是使用位图记录每个号码的出现状态,巧妙实现去重。
方法一:
通过哈希算法,将10亿个电话号码按照哈希值落在多个文件中,
重复的电话号码有相同的哈希值,肯定位于一个文件中,
这样就可以分别对每个文件排序删除重复的电话号码。
方法二:
使用位图来进行处理。比如说这10亿个数的范围为【0-10亿】,那么就申请一个10亿的数组,
数组类型为boolen,只有0和1,0表示没有,1表示有。
这样自然而然的就删掉了重复的部分。
3657
1220

被折叠的 条评论
为什么被折叠?