Soundex及其变体是为此的标准算法。它使用语音规则将名称转换为字母数字代码。具有相同代码的名称被分组在一起。
至于实现搜索,我将使用一种数据结构,该结构将每个soundex代码映射到具有该代码的名称列表。根据所使用的数据结构(哈希表或树),可以及时完成查找,该时间在不同的soundex代码数量上以对数形式恒定。
我不确定您所说的到底是什么
cstring(微软的
CString?),但是标准
std::string类对于此问题将是完美的,并且是我的首选。

Soundex及其变体是为此的标准算法。它使用语音规则将名称转换为字母数字代码。具有相同代码的名称被分组在一起。
至于实现搜索,我将使用一种数据结构,该结构将每个soundex代码映射到具有该代码的名称列表。根据所使用的数据结构(哈希表或树),可以及时完成查找,该时间在不同的soundex代码数量上以对数形式恒定。
我不确定您所说的到底是什么
cstring(微软的
CString?),但是标准
std::string类对于此问题将是完美的,并且是我的首选。