首页 > 代码库 > BF字符串匹配算法
BF字符串匹配算法
Brute Force算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;
若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。
代码示例:
1 <?php 2 //BF算法 3 /** 4 * 从第pos的下标开始查询,匹配成功则返回下标,否则返回false 5 */ 6 function bf($s, $t, $pos=0) 7 { 8 $i = $pos; 9 $j = 0; 10 $slength = strlen($s); 11 $tlength = strlen($t); 12 while($i+$j<$slength && $j<$tlength) 13 { 14 if($s[$i+$j] == $t[$j]) 15 { 16 $j++; 17 } else { 18 $j = 0; 19 ++$i; 20 } 21 } 22 if($j>=$tlength) 23 { 24 return $i; 25 } else { 26 return false; 27 } 28 } 29 30 $s = ‘ababcababa‘; 31 $t = ‘ababa‘; 32 33 $res = bf($s,$t,0); 34 var_dump($res);
BF字符串匹配算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。