我正在创建一个可处理100k字符串的Visual Basic程序。是! “100K”。每个字符串都是长句。我需要确保我的程序中的搜索功能相当快。 search函数返回内存中包含search关键字的所有字符串。
我是VB新手。我的问题是我是否应该使用数据库(没有经验)或者我应该使用2D字符串数组?每种方法的优点和缺点是什么?
答案 0 :(得分:1)
如果您需要多次搜索,只需将所有遇到的单词的地图构建为句子列表(即Dictionary<string, List<int>>
,其中int
是句子的索引)。
如果您太担心内存使用情况,您可以通过将句子表示形式化为单词列表来压缩句子表示(可以使用String.Intern,以避免在内存中复制相同单词的副本)。