在实现字符串的查找功能时,选择合适的算法至关重要。以下哪种算法在处理长字符串时,能够有效减少时间复杂度?
答案解析
选项A(暴力匹配算法)时间复杂度为O(n*m),在长字符串中效率低下。选项B(KMP算法)通过预处理模式串,时间复杂度为O(n+m),适合长字符串查找。选项C(Boyer-Moore算法)在实际应用中通常比KMP更快,但在某些情况下,尤其是模式串较短时,可能不如KMP稳定。选项D(Rabin-Karp算法)适合多模式查找,但在单模式查找时不如KMP高效。因此,正确答案是B。
正确答案:B