Boyer-Moore快速串搜索算法

2021-04-23 13:05:01

这个算法,Bob Boyer和我在大约1975年发明的算法,是在另一个中找到一个字符串的最快已知方式的最快方法。您可以在下面的文本中寻找以下模式吗?我们可以向您展示Knuth-Pratt-Morris算法,我们可以向您展示Boyer-Moore算法。我们的算法具有特殊的属性,粗略地说,模式越长,算法的速度越快。此外,该算法是'sublinear''从某种意义上说,它通常看起来较少的字符。算法在快速串搜索算法中描述,具有R.S.男孩。通讯转运机械协会,20(10),1977,PP。762-772。

经典的博米摩尔算法遭受了它倾向于在DNA等小字母上工作的现象。跳过的横向于停止使用图案长度的成长,因为子字符串会发生重新定义。通过记住更多匹配的内容,一个可以越来越大的跳过文本。一个人甚至可以安排'完美的记忆''因此,最多地看待每个角色,而博伊尔摩尔科算法在线性,可能多次检查文本的角色。记住更多的想法在文献中被其他人探讨了。遭受了对非常大的桌子或州机器的需求。然而,在2007年,Matyas Sultik和我想到了一个明显的新变形,在小字母表上给出了非常好的性能,并且具有一小件表格。算法在UTCS Tech报告TR-07-62中描述了,“串”。& #39;'