“,”西方人 撒哈拉 </跨度> “,”也门“, “南斯拉夫”,“扎伊尔”,“赞比亚”,“津巴布韦” }; }}
}
有什么建议?谢谢 锟斤拷
用于前缀搜索的数据结构是TRIE。您可以在此处阅读有关数据结构的更多信息: http://en.wikipedia.org/wiki/Trie
您可以在以下链接中找到几个c#实现的trie: http://www.kerrywong.com/2006/04/01/implementing-a-trie-in-c/
https://codereview.stackexchange.com/questions/2195/is-this-a-reasonable-trie-implementation
希望这有助于提高速度。
如果您的数据集是静态的,我会考虑在排序数组上使用二进制搜索来定位范围的开头和结尾。介于两者之间的一切都是你的结果。
是的,将所有这些放在数据库中并使用SQL查询(最好使用 LIKE 条款)做的工作。我说这个的原因是数据库是 设计 做你想做的事情。信息存储和检索。
LIKE
如果根据您的要求无法部署完整的SQL实例,您可以随时查看 SQLLite ,有一个C#实现。