📜  DAA字符串匹配介绍

📅  最后修改于: 2020-12-11 01:41:10             🧑  作者: Mango

字符串匹配介绍

字符串匹配算法也称为“字符串搜索算法”。这是字符串算法的重要一类,它被声明为“这是一种在较大的字符串中找到多个字符串的地方的方法”。

给定一个文本阵列,T [1 ….. N],n字符和一图案阵列,P [1 …… M]中,m字符。问题是找到一个整数s,称为有效位移,其中0≤s 子字符串表示为T [i …… j],且0≤ i≤j≤n-1,由T中的字符从索引i到索引j(含)组成的字符串。字符串是其自身的子字符串的过程(取i = 0和j = m)。

对于某些0 正确子字符串是T [1 … j]。也就是说,我们必须让i> 0或j

使用这些描述,我们可以说给定任何字符串T [1 …… n],子字符串为

T [i.....j] = T [i] T [i +1] T [i+2]......T [j] for some 0≤i ≤ j≤n-1.

正确的子字符串是

T [i.....j] = T [i] T [i +1] T [i+2]......T [j] for some 0≤i ≤ j≤n-1.

注意:如果i> j,则T [i ….. j]等于长度为零的空字符串或null。

用于字符串匹配的算法:

有不同类型的方法用于查找字符串

  • 幼稚的字符串匹配算法
  • 拉宾·卡普算法
  • 有限自动机
  • Knuth-Morris-Pratt算法
  • Boyer-Moore算法