为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

刘勇4_1串

2014-02-20 16页 ppt 611KB 10阅读

用户头像

is_202586

暂无简介

举报
刘勇4_1串nullnull4.1 串及其运算 4.2 串的存储表示 4.3 串的模式匹配算法 穷举算法、KMP算法、改进的KMP算法; next数组、改进next数组 4.1 串及其运算串是由零个或多个字符组成的有限序列,一般记为 s=“a1a2…an”(n0) 其中,s是串名,用单引号(也可以是用双引号括起来的) 括起来的字符序列是串的值。ai可以是字母、数字或其他字符;串中字符的个数n成为串的长度。4.1 串及其运算子串:串中任意个连续的字符组成的子序列。 主串:包含子串的串相应地称为主串。 位置:字符在序列中的序号。子...
刘勇4_1串
nullnull4.1 串及其运算 4.2 串的存储表示 4.3 串的模式匹配算法 穷举算法、KMP算法、改进的KMP算法; next数组、改进next数组 4.1 串及其运算串是由零个或多个字符组成的有限序列,一般记为 s=“a1a2…an”(n0) 其中,s是串名,用单引号(也可以是用双引号括起来的) 括起来的字符序列是串的值。ai可以是字母、数字或其他字符;串中字符的个数n成为串的长度。4.1 串及其运算子串:串中任意个连续的字符组成的子序列。 主串:包含子串的串相应地称为主串。 位置:字符在序列中的序号。子串在主串中的位置则以子 串的第一个字符在主串中的位置来表示。 相等:两个串的长度相等,并且对应位置的字符都相等。注意区分空串与空格串的区别。null 串的逻辑结构和线性表的区别: 1. 串的数据对象约束为字符集。 2. 线性表的基本操作大多以“单个元素”为操作对象,而 串的基本操作通常以“串的整体”作为操作对象。 对于串可以定义以下运算: 1. 置串为一个空串; 2. 判断一个串是否为空串 3. 求一个串的长度; 4. 将两个串拼接在一起构成一个新串; 5. 在一个串中,求从串的第i个字符开始连续j个字符所构成的子串; 6. 如果串S2是S1的子串,则可求串S2在串S1中第一次出现的位置。 7、去掉首尾空格 8、全部大写、全部小写 9、分割串,得到串数组4.2串的存储表示1. 定长顺序表示 4.2串的存储表示算法4.1 求顺序表示的串的子串算法4.1 求顺序表示的串的子串其它操作其它操作2. 变长顺序表示2. 变长顺序表示3. 串的块链存储表示 3. 串的块链存储表示4.3 串的模式匹配算法模式匹配:子串(又称模式串)在主串中的定位操作。4.3 串的模式匹配算法定义 在串中寻找子串(第一个字符)在串中的位置 词汇 在模式匹配中,子串称为模式,串称为目标。 示例 目标 T : “Beijing” 模式 P : “jin” 匹配结果 = 3 朴素算法--------穷举的模式匹配过程朴素算法--------穷举的模式匹配过程 朴素的模式匹配算法 朴素的模式匹配算法KMP算法KMP算法 由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现的。简称KMP算法。 提高匹配效率 i指针不回溯 利用已匹配的信息定位j指针nullnext数组直观算法(下标从1开始): (1) next[1] = 0 (2) next[j] = k+1的情况为:T[1..k]=T[j-k....j-1]迭代算法(下标从1开始): (1) next[1] = 0,next[2] = 1 (2) j从3开始:k=next[j-1] 如T[next[j-1]] == T[next[k]] 则next[j]=k+1, 否则next[j] = 1null求next数组的算法null已知next数组后的匹配算法null改进的KMP算法:改进next数组已知next数组,求nextVal数组 (1) nextVal[1,2] = next[1,2] (2) j从3开始: k = next[j] 如 T[j] == T[k] ,则nextVal[j] = next[k] 否则nextVal[j] = next[j]
/
本文档为【刘勇4_1串】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索