【发布时间】:2011-07-10 04:54:06
【问题描述】:
我想用数字映射一些字符串(单词)。字符串越相似,它们的值(映射数字)越接近。另外,在检查字母的位置组合时应该影响映射。映射函数应该是字母,位置(组合给定字母位置的优先级,例如坑和尖端应该不同),字母的数量。
好吧,我举几个例子:starter, stater,stapler, startler, tstarter 是一些词。这些词的格式为“(*optinal)sta(*opt)*er”,其中 * 表示某种变量,在我们的例子中它是 't' 或 'l'(即在 starter 和 staler 的情况下)。这些都应该单独映射,没有上下文到其他的,这样它们的值没有太大的区别。稍后我可以在哪些创建组上放置适当的数字范围来区分组。
因此,在映射字符串时,它们的值应该相似。有很多词,所以相互比较会很复杂。所以独立地为每个单词映射一些数值,并将相似的字符串(因为它们具有相似的值)放在一个组中,然后通过其他方式找到这些模式。
所以,现在我需要查找一些现有的映射方法,以便相似的字符串(我想我已经澄清了我的上下文中的“相似”一词)具有相似的值,并且这些值应该与不同的值不同.拜托,我再次强调字符串的数量会很大,并且几乎不可能相互比较(或者计算成本高且速度慢)。所以我想设计一个算法(从现有算法的帮助)映射字( STRING) 独立
我说清楚了吗?请给我一些想法开始。一些要搜索和研究的术语。
我认为我需要某种类型的“bad”哈希函数来对字符串进行哈希处理,然后根据该哈希值将它们放入存储桶中。至少有一些想法或算法名称。
【问题讨论】:
-
好的......但他在那里不活跃,我无法联系他并且答案不相关,我真的希望通过与每个 cmets 的交互和整个问题的改进来解决问题。我不能在别人的帖子中这样做