我想用数字映射一些字符串(单词)。类似的字符串,它们的值越近(映射的数字)。同时,检查字母的位置组合应该影响映射。映射函数应该是字母,位置的函数(组合给定字母的位置,如坑和尖端的优先级应该不同),字母数量。
好吧,我会举一些例子:起动器,定位器,订书机,启动器,tstarter 是一些单词。这些单词的格式为“(* optinal)sta(* opt)* er”,其中*表示某种变量,在我们的例子中它是't'或'l'(即在起动器和staler的情况下)。这些都应该被单独映射,没有上下文,这样它们的值没有太大区别。然后在哪个创建组中,我可以为区分组添加适当的数字范围。
因此,在映射字符串时,它们的值应该相似。有很多单词,所以相互比较会很复杂。所以独立地为每个单词映射一些数值,并在组中放置相似的字符串(因为它们具有相似的值),然后通过其他方式找到这些模式。
所以,现在我需要查找一些现有的映射方法,以便类似的字符串(我想我已经澄清了“我的上下文中的'类似'一词)具有相似的值,这些值应该与不同的字符串不同。请再次强调,字符串的数量是巨大的,并且每个字符串的比较实际上是不可能的(或者计算成本高且速度慢)。我认为是什么样的算法(从现有的算法中获取帮助)用于映射词( STRING)自己
我告诉你了吗?请先给我一些想法。一些搜索和研究的术语。
我认为我需要某种类型的“错误”散列函数来散列字符串,然后根据该散列值将它们放入存储桶中。至少有一些想法或算法名称。