c#编程中关于大数据量的问题
问题:现在我有很多的字符串大概有500万个需要处理,用什么样的数据类型在时空上比较合适?具体的问题描述:有一大堆的字符串在一个txt中都是这样的格式21001221110...
问题:现在我有很多的字符串大概有500万个需要处理,用什么样的数据类型在时空上比较合适?
具体的问题描述:有一大堆的字符串在一个txt中都是这样的格式21001221110011(每个串只有2,1,0这三种数字且都是14位)这样的数字串大概有200万个以上,现在要统计这些串中重复的数字串及其重复的次数,应该如何编程?(在时间和空间上尽量可行)
最好能给出代码?只求时间和空间上可行就行 展开
具体的问题描述:有一大堆的字符串在一个txt中都是这样的格式21001221110011(每个串只有2,1,0这三种数字且都是14位)这样的数字串大概有200万个以上,现在要统计这些串中重复的数字串及其重复的次数,应该如何编程?(在时间和空间上尽量可行)
最好能给出代码?只求时间和空间上可行就行 展开
2个回答
展开全部
1、逐行读取(这样内存消耗较小)
2、将读取的结果存入Dictionary<key,value>类型中。
3、存入Dictionary<key,value>前先判断是否存在。
string value = "21001221110011";
if (openWith.TryGetValue("21001221110011", out value))
{
//存在的处理
}
else
{
//不存在的处理
}
字典的效率比较高,查询时间是O(1)。
2、将读取的结果存入Dictionary<key,value>类型中。
3、存入Dictionary<key,value>前先判断是否存在。
string value = "21001221110011";
if (openWith.TryGetValue("21001221110011", out value))
{
//存在的处理
}
else
{
//不存在的处理
}
字典的效率比较高,查询时间是O(1)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询