上传者: 42120405
|
上传时间: 2021-10-06 21:57:06
|
文件大小: 108KB
|
文件类型: -
Boyer-moore-string-search
在C中的实现。
该算法从右到左向后执行匹配,并通过迭代匹配,模式移位,匹配,移位等进行操作。移位量是通过应用以下两个规则来计算的:
不良品格规则
良好的后缀规则
实际的偏移量是其中最大的偏移量。
delta1 “错误字符”表
该表包含字母中每个字符的条目。 char的条目指定在字符串中找到char且与当前模式字符不匹配时,模式应右移的距离。
delta2 “ Good Suffix”表
该表包含模式中每个字符的条目。 pattern [j]的条目指定当pattern [j-1]不匹配字符串但pattern [j ..patlen-1]的后缀匹配时,当前字符串位置应向右移动多远。
用法
编译并执行测试:
$ make
$ ./bm
要删除编译的文件:
$ make clean
样本输出