Ody*_*dys 4 c# algorithm search .net-3.5
我想使用Levenshtein算法搜索字符串列表.我想实现自定义字符映射,以便键入拉丁字符并在希腊语中搜索项目.
映射示例:
a = ?, ?
b = ?
i = ?,?,?,?
... (etc)
u = ??, ??
Run Code Online (Sandbox Code Playgroud)
所以在abu列表中搜索使用
将导致列表中的所有项目.(项目顺序不是问题)
如何在算法中应用映射?(这是我开始的地方)
我认为最好的方法是将符号预处理为一个明确的形式(例如拉丁语中的所有符号),然后像正常情况那样使用Levenshtein.
在伪代码中:
int func(String latinStr, String greekStr) {
String mappedStr = convertToLatin(greekStr); // e.g. now ?? would be ab
return Levenstein(latinStr, mappedStr);
}
Run Code Online (Sandbox Code Playgroud)
并且convertToLatin你可以逐个符号地用字符串请求字典替换并构造新的字符串