征求下各位意见~~~
发布网友
发布时间:2022-04-30 14:04
我来回答
共2个回答
热心网友
时间:2022-06-22 22:18
我觉得正则完全可以。除了这个
bei jig city 应该是你打错了
比如北京 只要出现了了 bei jing 这两个关键部分。不管大小写。都记录为北京。
正则足以。
补充回答
如果必须要考虑速度的话
beijing
Beijing
beijingcity
bejingtianjing
beijingchina
bei jing city
这几个。除了beijingtianjing我不知道你要如何处理这两个城市之外。其他的都是城市名称在前。这样的话。可以把中国所有的城市首先生成一个庞大的dfa。输入一个有效字符则跳转一个状态。每一个城市对应着一个终态。首先达到的终态就是需要得到的城市。
这个图可能有点大。那么应该根据中文来构图。
将每个城市可能出现的汉字列出并给出其拼音。
构建汉字鉴别的dfa。然后根据生成的汉字判断城市。
而且。我觉得如果这个不要求实时处理的话。速度不用太担心。
假设城市的数量级是10^3
使用kmp字符串匹配则可以将匹配时间降至线性 根据城市拼音长度 时间复杂度数量级为 10^1
设数据量数量级为10^4
结果为10^8。完全可以在10分钟之内得到答案。
个人感觉不会问题太大。。
热心网友
时间:2022-06-22 22:19
我也做过相似的数据处理,隆重向你推荐多线程