社区
数据结构与算法
帖子详情
常用的模式匹配算法的时间复杂度?
xiphiping
2005-10-14 07:37:04
我想请问一下,常用的模式匹配算法(如boost的regex库的算法)的时间复杂度大概是多少吗?是不是P?注意,我说的模式匹配不是数据结构书上说的子串定位,而是正则表达式的匹配。
...全文
838
1
打赏
收藏
常用的模式匹配算法的时间复杂度?
我想请问一下,常用的模式匹配算法(如boost的regex库的算法)的时间复杂度大概是多少吗?是不是P?注意,我说的模式匹配不是数据结构书上说的子串定位,而是正则表达式的匹配。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jp1984
2005-10-14
打赏
举报
回复
模式匹配复杂度当然是P,最朴素情况下匹配也是O(m*n),where m is the length of pattern and n is the length of text.
基于自动机的模式匹配算法已经将复杂度降低到线性,Knuth-Morris-Prat算法跟自动机的方法类似,但是对某些特别的实例效率更高,
算法
篇——串的
模式匹配
算法
子串的定位运算通常称为串的
模式匹配
或者串匹配。此运算相当广泛,比如在搜索引擎、拼写检查、语言翻译、数字压缩等应用中都需要用到串匹配。
常用
的串匹配
算法
有简单的
模式匹配
算法
(BF)和KMP
算法
。
字符串
模式匹配
模式匹配
又称为子串的定位操作,是串最基本的操作。下面对
常用
的
模式匹配
算法
作简单介绍。 1、朴素
模式匹配
算法
此
算法
是最简单的匹配
算法
,
算法
思想如下:从主串s的第1个字符起和模式串t的第1个字符比较,如果相等,则继续比较后继字符。否则从主串的下一个字符起再重新和模式串的第1个字符进行比较,直到模式串t中的每一个字符依次和主串s中的一个字符序列相等则匹配成功,返回和模式串t中第1个字符相等的字符
KMP
模式匹配
在开发中常常遇到须要查看一个字符串t是否在字符串s中存在,并找到其第一次出现的位置,也就是在字符串s中查找子串t,我们寻常都是怎么实现那?我们最起码有三个方法能够用。CString和string中的find函数。以及string.h中的strstr函数,用起来既简单又快捷,CString是MFC中的东西,string是C++标准库的东西,strstr是C中string.h中...
模式匹配
算法
在C语言中的介绍
模式匹配
算法
在C语言中的介绍
Linux c 下
模式匹配
#include #include #include #include #include //对输入的模式与待匹配的字符串进行匹配;成功返回0;//pattern : 模式// buf : 待匹配的字符串;int regexp(char *pattern, char * buf){ regex_t reg; int status = 0; int cflags = RE
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章