计算“levenshtein社交网络”* *非常有效

时间:2012-06-26 08:26:32

标签: levenshtein-distance performance

我正在网上进行代码挑战,寻找通过Levenshtein距离相关的单词“社交网络”。我的Levenshtein函数是正确的。我递归地添加到一个全局集,我正在使用元组映射到布尔值来缓存是否任何一对单词的Levenshtein距离为1.代码应该在 5秒内终止。我不确定这是怎么接近可能的。我确信有一些 aha 洞察力 这可能。任何人都可以直接看到它吗?

问题陈述: 如果他们的Levenshtein距离为1,那么两个单词就是朋友。也就是说,你可以在单词X中添加,删除或替换一个字母来创建单词Y.一个单词的社交网络由其所有朋友组成,加上他们所有的朋友们,以及他们所有朋友的朋友,等等。编写一个程序,告诉我们“hello”这个词的社交网络有多大,使用这个单词列表

我的伪代码:

get_network(friend)
  if friend not in network
    add friend to network
    friends = []
    check friend against all words in network
      consult cache or calculate lev distance
      cache if necessary, append to friends if necessary
    for all friends
      get_network(friend)

重新解释这个问题:“什么是能够提高效率的天文数字的基本见解?”

0 个答案:

没有答案
相关问题