当前位置: 首页 > news >正文

南阳网站制作公司东莞网站建设 手机壳

南阳网站制作公司,东莞网站建设 手机壳,游戏网站开发过程,莱芜都市网帖子怎么删除数据结构c语言版严蔚敏清华大学出版社第四章串模式匹配(定位) 设有主串S和子串T(将S称为目标串#xff0c;将T称为模式串)#xff0c;在主串S中#xff0c;从位置start开始查找#xff0c;如若在主串S中找到一个与子串T相等的子串#xff0c;则返回T的第一个字符在主串中的…数据结构c语言版严蔚敏清华大学出版社第四章串模式匹配(定位) 设有主串S和子串T(将S称为目标串将T称为模式串)在主串S中从位置start开始查找如若在主串S中找到一个与子串T相等的子串则返回T的第一个字符在主串中的位置否则返回-1。 算法目的 确定主串中所含子串第一次出现的位置(定位) 算法种类 BF算法 (又称古典的、经典的、朴素的、穷举的) KMP算法 Brute-Force算法的设计思想 将主串S的第一个字符和模式T的第1个字符比较 若相等继续逐个比较后续字符 若不等从主串S的下一字符起重新与T第一个字符比较。 直到主串S的一个连续子串字符序列与模式T相等。返回值为S中与T匹配的子序列第一个字符的序号即匹配成功。 否则匹配失败返回值 –1。 BF算法的时间复杂度 讨论 若n为主串长度m为子串长度则串的BF匹配算法最坏的情况下需要比较字符的总次数为(n-m1)*mO(n*m) 最好的情况是一配就中 只比较了m次。 最恶劣情况是主串前面n-m个位置都部分匹配到子串的最后一位即这n-m位比较了m次别忘了最后m位也各比较了一次还要加上m所以总次数为(n-m)*mm (n-m1)*m KMP算法设计思想 设s为主串t为模式串设i为主串s当前比较字符的下标j为模式串t当前比较字符的下标令i和j的初值为。当si tj时i和j分别增1再继续比较否则 i不变j改变为next[j]值(即模式串右滑)后再继续比较。依次类推直到出现下列两种情况之一一是 j退回到某个jnext[j]值时有si tj 则 i和j分别增1后再继续比较二是j退回到j-1时令主串和子串的下标各增1随后比较si1和t0 。这样的循环过程一直进行到变量大于等于S.length或变量j大于等于T.length时为止。 KMP算法的时间复杂度 注意由于BF算法在一般情况下的时间复杂度也近似于O(nm)所以至今仍被广泛采用。 第四趟匹配 ababcabcacbab abcac 第五趟匹配 ababcabcacbab a 第六趟匹配 ababcabcacbab abcac i4 j1 i5 j1 i11 j6 能否利用已部分匹配过的信息而加快模式串的滑动速度 能而且主串S的指针i不必回溯最坏情况也能达到O(nm) 请看KMP算法 当模式串为,主串为’00000000000000000000000000000000000000000000000000001’时,整个匹配过程中指针i需回溯45次. a b a 尽量利用已经部分匹配的结果信息尽量让i不要回溯加快模式串的滑动速度。 例 S‘a b a b c a b c a c b a b’ T‘a b c a c’ S‘a b a b c a b c a c b a b’ T‘a b c a c’ S‘a b a b c a b c a c b a b’ T‘a b c a c’ 需要讨论两个问题 ①如何由当前部分匹配结果确定模式向右滑动的新比较起点k ② 模式应该向右滑多远才是高效率的? i i i k k a b c k i i 2、KMP算法 T‘a b c a c’ S‘a b a b c a b c a c b a b’ i k S‘a b a b c a b c a c b a b’ T‘a b c a c’ i k 奇妙的结果 k 仅与模式串T有关 请抓住部分匹配时的两个特征 两式联立可得“T0…Tk-1”‘Tj-k …Tj-1’ 则T的k-1S前i-1i-k)位 设目前打算与T的第k字符开始比较 (1) (2) ‘T … Tk-1’ 则T的j-1j-k位 S前i-1i-k)位 刚才肯定是在S的i处和T的第j字符 处失配 ‘Tj-k …Tj-1’ 截取一段但k有限制0
http://wiki.neutronadmin.com/news/72007/

相关文章:

  • 安卓搭建网站购物网名昵称
  • 网页设计茶叶网站建设wordpress 自媒体模版
  • 网站的风格主要包括wordpress 4.7 暴路径
  • 整页型网站软件开发者工具
  • 西安网站建设平台网站需要证件
  • 网站建设销售技巧和话术男女做暖网站是什么样子的
  • 学做预算有网站吗芜湖网站建设优化
  • 做网站聊城企业形象网站解决方案
  • 南通网站开发招聘网站建设 中企动力东莞后台管理
  • 泉州市做网站优化万网域名交易
  • 重庆科技网站设计模板智能营销型网站
  • 河北建设网站首页手表网站上没有价格
  • 北京建站开发asp.net构建门户网站
  • 怎样在谷歌做网站优化大师apk
  • 合肥做网站排名最简单网站建设
  • 网站三大标签手机介绍网站
  • 淘宝网站设计模板下载百度竞价推广怎么收费
  • 微信公众平台官方网站登录互动教学平台
  • 网站开发培训程序员网站算信息化建设
  • 太仓网站公司wordpress主题学习
  • 做网站老板不发工资我拿尾款十九冶成都建设网站
  • 怎么做好网站建设wordpress带投稿模板
  • 张家界城乡建设网站山东浩景建设有限公司网站
  • 经营网站 备案信息管理系统商城网站建设专业公司
  • 鲜花店网站页面-欧美模板1psd重庆市安全建设工程信息
  • 正规代做毕业设计的网站做电商网站都需要学什么软件
  • 兰州网站公司python用于网站开发
  • 南通建设工程造价信息网站德州网站制作
  • 改图网网站谁做的wordpress设置多域名多站点
  • 百度推广送企业网站吗网站设计制作公司大全