algorithm - "adjacent"字符串的构建图

标签 algorithm string language-agnostic graph

我有一组字符串,需要构建一个图,其中字符串是节点,任何一对相邻字符串之间都有边。

对于字符串 AB 如果通过添加、删除或替换 A 的单个字符,则称其为 adjacent (在任何位置)你得到 B

例如 scarcar 相邻(从 scar 中删除 s),carfar(将 c 替换为 f)等 far农场(添加m)。

是否可以在 O(n^2) 内完成此操作?

最佳答案

您必须计算邻接矩阵中的 n(n - 1)/2 = O(n^2) 个条目(如果 Levenshtein distance 为 1,则条目为 1,否则为 0 ).这是无法避免的。

(请注意,给定 n,我可以找到一个字母表和该字母表上的一组单词,这样所有 n 单词都是相邻的,并且该图将是完整的。 )

关于algorithm - "adjacent"字符串的构建图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4195963/

相关文章:

iphone - iPhone Facebook 3.0 主页制作攻略

c - 在 C 中交换双指针

java - 解析来自 Dentrix 桌面应用程序的信息

python - 连接从左到右和从右到左的语言(阿拉伯语等)

language-agnostic - 自然数的 Church 数字编码是否不必要地复杂?

language-agnostic - 我充电够吗?我想我可能把自己置于一个奇怪的境地

algorithm - 不同解析算法之间的运行时差异是什么?

algorithm - 洪水贝叶斯评级创建的值超出范围

python - 为什么相同的 "inputs"会得到两个不同的结果

java - 使用 Java,我需要将一个字符串拆分成两个大写字母之间的 arrayList