全部科目 > 软件设计师 >
2014年下半年 上午试卷 综合知识
第 60 题
知识点 串的模式匹配  
关键词 函数   模式匹配   匹配算法   字符串   算法  
章/节 计算机软件知识  
 
 
在字符串的KMP模式匹配算法中,需先求解模式串的next函数值,其定义如下式所示,j表示模式串中字符的序号(从1开始)。若模式串p为“abaac”,则其next函数值为()。
 
  A.  01234
 
  B.  01122
 
  C.  01211
 
  D.  01111




 
 
相关试题     计算机软件知识 

  第50题    2016年上半年  
函数main()、f()的定义如下所示,调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,main函数中&ldquo..

  第48题    2023年上半年  
Python中采用()方法来获得一个对象的类型。

  第61题    2015年下半年  
设一个包含n个顶点、e条弧的简单有向图采用邻接矩阵存储结构(即矩阵元素A[i][j]等于1或0,分别表示顶点i与顶点j之间有弧或无弧),则该矩阵的非零元素数目为(61..

 
知识点讲解
· 串的模式匹配
 
        串的模式匹配
        子串的定位操作通常称为串的模式匹配,它是各种串处理系统中最重要的运算之一。子串也称为模式串。
        1)朴素的模式匹配算法
        朴素的模式匹配算法也称为布鲁特一福斯算法,其基本思想是:从主串的第一个字符起与模式串的第一个字符比较,若相等则继续逐个字符进行后续的比较,否则从主串的第二个字符起与模式串的第一个字符重新比较,直至模式串中的每个字符依次和主串中的一个连续的字符序列相等,则称匹配成功,否则称匹配失败。
        该算法在最好情况下匹配算法的时间复杂度为O(n+m),而在最坏情况下的时间复杂度为O(n×m)。
        2)改进的模式匹配算法
        改进的模式匹配算法又称为KMP算法,其改进之处在于:每当匹配过程中出现相比较的字符不相等时,不需要回溯主串的指针,而是利用已经得到的"部分匹配"的结果,将模式串向后"滑动"尽可能远的距离,再继续进行比较。
        此算法的时间复杂度为O(n+m)。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有