我正在尝试解决字符串的模式挖掘问题,我认为后缀树或 arrays 可能是解决此问题的不错选择。 我将快速概述问题: 我有一组不同长度的字符串(引用只是为了标记重复以进行解释): C"BECB"ECCCECCEEB"BECB"FCCECCECCCECCCFCBFCBFCC DCBBDCDDCCEC ...
我正在尝试解决字符串的模式挖掘问题,我认为后缀树或 arrays 可能是解决此问题的不错选择。 我将快速概述问题: 我有一组不同长度的字符串(引用只是为了标记重复以进行解释): C"BECB"ECCCECCEEB"BECB"FCCECCECCCECCCFCBFCBFCC DCBBDCDDCCEC ...
用户提供要搜索的文本文件和要搜索的模式。 该程序构建一个后缀树并使用它来查找文本中出现的所有模式,然后打印它们的索引。 我的 find_occurrences 函数应该打印模式出现的每个索引。 相反,它打印每个索引的位置,直到并包括模式的最后一次出现例子: 提供文本文件的路径定理.txt 提供您要搜 ...
假设我们有一个字母串,我们正在搜索重复次数最多的 m 个字母 substring (1=<m =< n)。 我只是在寻找一种在线性时间内解决这个问题的算法。 我已经达到了后缀树。 但是如何通过后缀树解决呢? 非常感谢。 ...
我有一个包含超过 100k 个单词的文本文件,每个单词在文件中用换行符分隔。 我想实现一个 function,它将返回包含给定 ZE83AED3DDF4667DEC0DAAAACB2BB3BE0BZ 的单词列表。 例如:如果 substring 是“外套”,那么它会返回“涂层”、“雨衣”、“雨衣”等 ...
我需要解决问题 - 用后缀树在两个单词中找到最长的子串。 我为第一个和第二个单词建立了后缀,但是如何在两个单词中找到最长的子串? 你能提出一个可能的算法来解决这个问题吗? ...
我正在学习如何从给定字符串生成后缀树的 Ukkonen 算法。 我在可视化网站http://brenden.github.io/ukkonen-animation/ 中尝试了一个字符串“dedododeodo”,我不完全理解的一件事是:为什么从节点号 8 到节点号 3 没有任何后缀链接? 我的理解 ...
我需要设计一个算法,给定一个长度为 n 的 T 字符串,在处理O(n)之后,对于每个长度为 m 的字符串 P和一个介于 1 到 n 之间的k值,以检查O(m)时间,如果P在 k position 之前出现在 T 上,仅使用Suffix Tree 。 不幸的是,没有任何好的生物信息学书籍具有公平的例 ...
我遇到了后缀 Trie 匹配的问题,我设计了一个带有 26 路树的后缀 trie 来表示节点中的字符以及与每个节点关联的值。 每个节点的值表示字符串(如果它是后缀)在主字符串中开始的索引,否则表示 -1。 此后我试图让匹配操作工作,但显然它没有,我无法在这里找到错误。 有关更多说明,请参阅此 Pdf ...
给定一个字符串"ababacba" ,我如何生成所有可能的回文子串? 我正在考虑以下方法: 使用原始字符串生成后缀 trie 反转字符串生成反转字符串的所有后缀对于每个后缀,通过去后缀树中的每个节点进行比较以确定回文但是,这似乎不适用于某些情况,例如它将baba检测为回文而不是回文,因为读取aba ...
我正在尝试完成 Coursera 上的字符串算法课程,并且坚持使用此视频中描述的构建 LCP 数组的方法: https://www.coursera.org/learn/algorithms-on-strings/lecture/HyUlH/computing-the-lcp-array 我很 ...
标题差不多。 我使用DC3算法在O(n)时间创建了一个后缀数组。 然后,我在O(n)的时间内使用Kasai的算法创建了一个LCP阵列。 现在,我需要从我拥有的两个数组中创建一个后缀树。 怎么做到的? 我查看了期刊论文,并使用Google进行了四处浏览,但是找不到解决方法。 我 ...
问题描述: 参考资料: 有趣的字符串 根据问题描述,找到所有可能子字符串(对于给定字符串)的LCP长度总和的简单方法如下: 基于对 LCP 的进一步阅读和研究,我发现这个文档指定了一种使用称为Tries的高级数据结构有效查找 LCP 的方法。 我实现了一个 Trie 和一个压缩 Trie(后缀 ...
我要解决的问题:我有一百万个单词(多种语言),并且有些类别被归类为我的训练语料库。 给定单词的测试语料库(随着时间的推移,语料库的数量必然会增加),我想获得训练语料库中每个单词的最接近匹配项,因此将该单词归为最接近匹配项的对应类。 我的解决方案:最初,我做了这种无法扩展的蛮力。 现在, ...
我实现了(请参见下面的代码)绝对最小的广义后缀树构建算法。 我编写了一个单元测试,它似乎按预期工作(在正确的位置找到正确的子字符串)。 但是这棵树太大了。 问题:我是否在某个地方犯了错误,或者这种基本形式的后缀树仅可用于非常短的文本? 统计 我想用它来搜索大量文本:多个15-2 ...
我想在一组字符串中找到最长的公共后缀,以检测我的自然语言处理项目中一些潜在的重要语素。 给定频率K>=2 ,在字符串S1,S2,S3...SN的列表中找到 K-最常见的最长后缀 为了简化问题,这里有一些例子: 输入 1: 输出 1: 说明1: “man”出现4次,“eman”出 ...
我正在为我的项目研究后缀数组和后缀树。 在几篇论文中,例如: Manber和Myers-1993年发表的“后缀数组:在线字符串搜索的新方法”。 Juha Karkkainen和Peter Sanders撰写的“简单线性工作后缀数组构造”,2003年。 作者说: “后缀 ...
我一直在研究trie,后缀数组和后缀树,我知道这些数据结构可用于快速查找以及用于更多应用程序。 现在我的问题是,与后缀数组相比,后缀树更可取的情况是,后缀数组是否节省空间并易于实现? 能否请您列出一下个人的优势。.在此先感谢。 ...
我正在使用后缀树。 据我所知,我已经正确运行了Ukkonen的算法,可以从任意数量的字符串构建通用后缀树。 我现在正在尝试实现find_longest_common_substring()方法来做到这一点。 为此,我知道我需要找到树中所有字符串之间最深的共享边(以字符为单位,而不是边的深度 ...
我对C#的了解比对C ++的了解要多得多,因此我必须就此问题寻求建议。 我不得不将一些代码片段重写为C ++,然后(出乎意料的)遇到了性能问题。 我将问题缩小到以下片段: C# C ++ 在这两种情况下,我都会创建一个后缀树,然后在更大的函数中使用它,该函数与该帖子 ...
我如何使用后缀树s进行下一步操作,后缀树的顶点数以O(| s |)为界: Is-k-Sub-string(r)-检查字符串r是否是s的k-sub-string,其中k-sub-string定义如下: 如果s的子字符串存在分区,则s的子字符串r定义为k子字符串: R = X1X2 ...