问题标签 [boyer-moore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1582 浏览

algorithm - Knuth Morris Pratt vs Boyer Moore : 二进制字母 vs 带有大量字母的字母

我熟悉这两种算法:Knuth Morris Pratt 和 Boyer moore。

给定一个由包含大量字母的字母组成的字符串 P。哪个算法更好用?

给定一个带有二进制字母(0 或 1)的字符串 P。哪个算法更好用?

0 投票
2 回答
1042 浏览

output - 构建摩尔机器

我有一个家庭作业问题:

构造一个 Moore 机器,它将一个由 a's b's 和 c's 组成的字符串作为输入,并在每个子字符串 abc 的末尾输出一个包含 1 并且在所有其他位置包含 0 的字符串。例如输入,aabcb 产生输出,000010

我尝试构建,但我走到了死胡同。这是我的尝试: 在此处输入图像描述

如您所见,我无法创建字符串 cccb,而 'abc' 可以输出 0。我觉得我把这个简单的问题复杂化了。

编辑:休息一下,重新做。我认为这是对的,除非有人可以告诉我:

在此处输入图像描述

0 投票
2 回答
570 浏览

c++ - Boost boyer_moore 搜索 corpusIter 类型的示例类?

我已经成功使用:

大海捞针。现在我想使用 BM_search 对针进行不区分大小写的搜索。由于我的 haystack 很大,我的计划是将针转换为小写,并让 haystack 迭代器将 haystack 字符视为特殊类,其比较函数在比较之前将字母转换为小写。但是,我无法正确表达这一点。我正在努力:

编译器(OSX 上的 g++)抱怨试图实例化 hash<casechar>,我猜是因为一些 BM 内部的东西。我迷失在模板<twisty_passages,all_different> 的迷宫中。我可以强加给某人一点方向吗?我怀疑我只需要在 casechar 和/或 caseiter 中提供某些实现,但我不知道哪些实现。

谢谢!

0 投票
3 回答
20524 浏览

suffix-array - Constructing a Good Suffix Table - Understanding an example

I'm really trying to understand an example on how to construct a good suffix table for a given pattern. The problem is, I'm unable to wrap my head around it. I've looked at numerous examples, but do not know where the numbers come from.

So here goes: The following example is a demonstration of how to construct a Good Suffix Table given the pattern ANPANMAN:

Any help on this matter is highly appreciated. I simply don't know how to get to these numbers. Thanks!

0 投票
1 回答
7440 浏览

string - Boyer-Moore 字符串搜索算法运行时间复杂度

Boyer-Moore 字符串搜索算法 wiki链接中,声明 Boyer-Moore 的最坏情况复杂度为

  1. O(m+n)如果模式没有出现在文本中
  2. O(mn)如果模式确实出现在文本中

但是在String Search Algorithm wiki中,据说 Boyer-Moore 的最坏情况复杂度是O(n)。为什么会出现这种差距?

在最坏的情况下,这里也被称为 O(mn)。

那么 Boyer-Moore 算法的正确运行时间复杂度是多少?

0 投票
0 回答
345 浏览

java - 如何在多个节点上运行 Java 程序?

我想实现 Boyer-Moore 字符串匹配算法,但我想使用并行方法来实现该算法。我想展示并行执行算法和顺序执行算法时的执行时间差异。

为此,我正在考虑在节点集群上运行我的代码。目前我正计划使用 Hadoop 使用 AWS(Amazon Web Services) - EMR(Elastic Map Reduce),但问题是我发现 AWS 很难使用。

有没有像 AWS 这样的其他服务可以帮助我在多个集群上并行运行我的 Java 代码?我愿意接受有关如何并行运行我的代码的任何建议。

0 投票
2 回答
1872 浏览

java - 如何用 Hadoop 实现字符串匹配算法?

我想使用 Hadoop 实现字符串匹配(Boyer-Moore)算法。我刚开始使用 Hadoop,所以我不知道如何用 Java 编写 Hadoop 程序。

到目前为止我看到的所有示例程序都是字数统计示例,我找不到任何用于字符串匹配的示例程序。

我尝试搜索一些教程,这些教程教授如何使用 Java 编写 Hadoop 应用程序,但找不到任何教程。你能给我推荐一些教程,我可以在其中学习如何使用 Java 编写 Hadoop 应用程序。

提前致谢。

0 投票
1 回答
272 浏览

algorithm - Boyer-Moore 算法。从课程资源中了解好的后缀转换示例

来自课程资源的好后缀示例。

苏塞纳斯

0 !S = 2

1 !SS = 6

2 !USS = 8

3 !NUSS = 5

其余的 8 个。

我的问题是:为什么 !SS = 6 而不是 = 1,因为 US 在一步匹配 !SS ?

0 投票
1 回答
474 浏览

java - Boyer-moore 数词 java

我在 java 中有一个作业,我必须使用 Sedgewick 的 Boyer Moore 子字符串搜索解决方案:http: //algs4.cs.princeton.edu/53substring/BoyerMoore.java.html

现在它将在找到第一次出现的单词时停止并返回找到它的位置。因此,为了计算单词,我将搜索方法更改为:

我更改了 if skip 语句以运行计数器“count”并在最后返回它。发生的情况是,如果我手动输入一个模式和一些文本,它似乎算得上是这样:

模式:测试文本:“此测试是测试测试testtest”结果:5

但是,我需要读取一些大约 70k 单词的文本的 txt 文件并进行子字符串搜索:

因此,当我搜索一个单词时,我总是得到一个比我在 mac 文本编辑器中 CMD+F 文件本身时少得多的数字。知道出了什么问题吗?

0 投票
0 回答
40 浏览

c# - 该程序不提供输出。

我已经用 C# 代码编写了这个 Boyer Moore 算法,但是当我输入文本和模式时,它没有给出任何解决方案。我得到了一个我必须实现的算法。我在代码中做了每一点逻辑,但它不会给出解决方案。