在字符串 'ababcabc' 中查找模式串 'abc',如果使用最简单的逐个字符比较的方法,在第一次匹配失败后,主串的比较位置通常会如何变化?
答案解析
核心考点说明:本题考察的是朴素的模式匹配算法(即BF算法)中,匹配失败时主串指针的处理方式。解题思路分析:BF算法在匹配失败时,主串的指针通常会回溯。具体到此题,就是回溯到本次匹配的起始位置的下一个位置。选项分析:A选项描述了不正确的行为,在BF算法中,主串指针不回溯到字符串开头;B选项是不正确的,因为匹配失败后主串指针需要移动;C选项,虽然主串指针会前进,但是BF算法中会回溯后再前进,此选项不完整;D选项是正确的,因为当主串中某位置开始的匹配失败后,主串的比较位置会回溯到本次匹配开始的位置,然后前进一位,尝试从主串下一个位置重新开始匹配。易错点提醒:容易和KMP算法的思路混淆,BF算法中主串的指针是回溯的,这会导致匹配效率降低。
正确答案:A