校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > KMP
题目

什么是KMP算法?

解答

KMP就是是一种改进的字符串匹配算法。
我们都知道,普通的暴力是一位一位的挪动字符串并逐位比较,
这样的时间复杂度会达到 O ( n m ) O(nm)O(nm),非常不利。

而KMP则是通过比较操作的简化来优化时间复杂度,不是一位一位的移动,
而是不后退的一段一段的移动,有读者想问:这不会出现遗漏的错误么?
这时候,就需要用到一个移动数组next,KMP算法的核心部分就是next数组的应用,使其时间复杂度大大降低,达到 O ( n + m ) O(n+m)O(n+m)

C 0条回复 评论

帖子还没人回复快来抢沙发