设主串长为n,模式串长为m(m≤n),则在匹配失败的情况下,朴素匹配算法进行的无效位移次数为(30)。A.mB.n-mC.n-m+1D.n

题目

设主串长为n,模式串长为m(m≤n),则在匹配失败的情况下,朴素匹配算法进行的无效位移次数为(30)。

A.m

B.n-m

C.n-m+1

D.n


相似考题
参考答案和解析
正确答案:C
解析:本题考查字符串的匹配内容。字符串是由某字符集上的字符所组成的任何有限字符序列。字符串的匹配实际上就是在一个字符串中查找另一个字符串,如果查找到则说明匹配成功。在一个字符串中查找另一个字符串时,是从主串的第一个字符开始的,用其第一个字符与模式串中的第一个字符比较,看是否相等,如果不等则主串往后移动一位,如果查找不到,那么只需要把主串移动到n-m+1位置即可,因为后面就算再出现能查找到的情况那也没有模式串的长度了,肯定不能完全查找出模式串。那么在匹配过程中,进行的无效位移次数为n-m+1次。
更多“设主串长为n,模式串长为m(m≤n),则在匹配失败的情况下,朴素匹配算法进行的无效位移次数为(30)。A.m ”相关问题
  • 第1题:

    设模式串的长度为m, 目标串的长度为n ,当 n ≈ m 且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价可能会更为节省。


  • 第2题:

    27、设模式串(子串)的长度为m,目标串(主串)的长度为n。当n≈m且处理只匹配一次的模式时,简单模式匹配(BF)算法所花费的时间代价也可能会比KMP算法更节省。


  • 第3题:

    设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是()。

    A.O(m)

    B.O(n)

    C.O(n + m)

    D.O(n×m)


    CD

  • 第4题:

    设模式串(子串)的长度为m,目标串(主串)的长度为n。当n≈m且处理只匹配一次的模式时,简单模式匹配(BF)算法所花费的时间代价也可能会比KMP算法更节省。


    D

  • 第5题:

    设模式串(子串)的长度为m,目标串(主串)的长度为n。当n≈m且处理只匹配一次的模式时,简单模式匹配(BF)算法所花费的时间代价也可能会更节省。


    D