第三章串1解读.pptx

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 串 第二章回顾 线性表的定义 顺序存储结构的特征 顺序存储结构的操作 链式存储结构特征 链式存储结构操作 多项式应用 教学内容 3.1 串抽象数据类型 3.2 串的表示和实现 3.3 串的模式匹配 3.3.1 Brute-Force算法 3.3.2 KMP算法 目的和要求 目的:串作为特殊线性表的实现与应用。 内容:字符串的基本概念,串抽象数据类型,顺序和链式两种存储结构存储串的特点;采用顺序存储结构实现串的各种操作算法;两种串的模式匹配算法及应用:Brute-Force算法和KMP算法。 要求:掌握顺序串类的基本操作实现方法,掌握串的模式匹配算法及应用。 重点:串数据类型的各种操作实现,两种串的模式匹配算法及应用。 难点:KMP模式匹配算法,next数组在KMP算法中的作用及产生过程。 3.1 串抽象数据类型 3.1.1 串的基本概念 串(字符串,String):是由 0 个或多个字符组成的有限序列。 通常记为:s =“s0s1s2s3…sn-1” ( n≥1 )。 串的名 串的值 串的长度 字母、数字或其他字符 引号””必须有!!! 串是一种特殊的线性表! 双引号的作用 例:x = “123” x = 123 test =“test” 作用:避免字符串与变量名或数的常量混淆。 空串:不含任何字符的串,长度 = 0,用符号 ? 表示。 空格串:仅由一个或多个空格组成的串。例如at是data的子串。 子串:由串中任意个连续的字符组成的子序列。 主串:包含子串的串。 位置:字符在序列中的序号。 子串在主串中的位置:子串的首字符在主串中的位置。 例:S=“DALIAN” S1=“” (? ) S2=“LIAN” S3=“DALIAN” —— 均为 S 的子串。 S4=“LAN” —— 非 S 的子串 (非串 S 中的连续字符所组成)。 在 S 中的位置:3 在 S 中的位置:1 串相等的条件:当两个串的长度相等且各个对应位置 的字符都相等时才相等。 例:S=“DALIAN” S1=“DA LIAN” S S1 ? 空串是任意串的子串,任意串是其自身的子串。 双引号与单引号区别! 1、含义不同。 用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此s的含义其实和十进制数115的含义是一致的。 而用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针。 2、大小不同。 用单引号引起的一个字符大小就是一个字节。 而用双引号引起的字符串大小是字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符\0。 扩展内容—转义 如何输出带引号的字符串? System.out.println(Jane Campion directed /The Piano/ in 1993.); 输出结果: Jane Campion directed The Piano in 1993. Java转义表 特殊字符 显示 / 单引号 / 双引号 // 反斜线 /t 制表符 /b 回退符 /r 回车符 /f 走纸符 /n 换行符 System.out.println(Music by/nMichael Nyman); Music by Michael Nyman 输出 举例: 串比较 两个串相等的条件是 (1)长度相同 (2)对应位置上的字符也相同 举例:假设有两个字符串“aabb”与“aacb”,如何比较大小? 3.1.2 串抽象数据类型 public interface SString { int length(); //返回串的长度 char charAt(int i) //返回第i(i≥0)个字符 SString concat(SString str); //返回与str串连接生成串 SString substring(int begin, int end); //返回串中字符序号从begin至end-1的子串 void setCharAt(int i, cha

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档