猿问

求 C# 海量数据 挑出重复数据算法?

需求: 挑出大量数据中的重复数据

.NET 做数据处理,现在是 把数据一条条addrow 到datatable里,在初始化datatable时设置其 primarykey 字段,如果是重复的数据 会引发ConstraintException,这样就能抓到重复的记录。

如何实现 对大数据量 数据 重复记录 筛选出来,有时数据量会上1000W,如果不借助datatable,自己实现,用什么样的数据结构和算法,能保证效率?如果数据量大到内存无法全部加载呢?

慕仙森
浏览 618回答 2
2回答

波斯汪

1、算哈希,假设数据变成128位的哈希码2、根据128位的前16位分文件存储3、每个文件里再找重复 这是分治的思路,至于具体根据几位分文件,是不是要二级细分都可以修改
随时随地看视频慕课网APP
我要回答