《数据结构串》PPT课件.ppt
《《数据结构串》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据结构串》PPT课件.ppt(24页珍藏版)》请在三一办公上搜索。
1、1,第3章作业(3.5 3.6 3.10 3.21 3.29 3.32),全校各单位:根据国务院办公厅关于2010年国庆节放假的通知精神,今年国庆节学校放假的时间定为10月1日至7日,共7天。10月1日(星期五)、10月2日(星期六)、10月3日(星期日)为国庆节法定节假日,10月2日(星期六)、10月3日(星期日)公休日分别调至10月4日(星期一)、10月5日(星期二),9月26日(星期日)、10月9日(星期六)公休日分别调至10月6日(星期三)、10月7日(星期四)。9月26日(星期日)、10月9日(星期六)上班。10月1日(星期五)、10月2日(星期六)、10月3日(星期日)全校停课,请
2、任课教师和学生关注各教学职能部门国庆节期间的停调课安排。节假日期间,各单位要妥善安排好值班和安全、保卫等工作,于9月28日前将值班安排分别送交学校办公室和保卫处。遇有重大突发事件发生,要及时报告并妥善处理,确保全校师生员工祥和平安度过节日假期。后勤集团、产业集团等单位可根据自身情况作好安排。各附属单位自行安排。学 校 办 公 室 二0一0年九月十三日,2,内 容 安 排,上机地点:南一楼东头二电信系机房第4、9、12周,周五晚上,3,第3章小结,线性表、栈、队的异同点:相同点:逻辑结构相同,都是线性的;都可以用顺序存储或链表存储;栈和队列是两种特殊的线性表,即受限的线性表(只是对插入、删除运算
3、加以限制)。,运算规则不同:线性表为随机存取;而栈是只允许在一端进行插入和删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。,用途不同。线性表比较通用;堆栈用于函数调用、递归和简化设计等;队列用于离散事件模拟、OS作业调度和简化设计等。(以后再举例),不同点:,4,第4章 串(String),4.1 串类型的定义4.2 串的表示和实现4.3 串的模式匹配算法,5,主要内容,模式匹配即子串定位运算,即如何实现 Index(S,T,pos)函数,精华:KMP算法快速(用nextj或nextvalj),6,记为:s=a1 a2.an(n0)
4、,串即字符串,是由零个或多个字符组成的有限序列,是数据元素为单个字符的特殊线性表。,4.1 串类型的定义,隐含结束符0,即ASCII码NUL,为何要单独讨论“串”类型?1)字符串操作比其他数据类型更复杂(如拷贝、连接操作)2)程序设计中,处理对象很多都是串类型。,7,若干术语:,串长:串中字符的个数(n0)。n=0 时称为空串。空白串:由一个或多个空格符组成的串。,问:空串和空白串有无区别?答:有区别。空串(Null String)是指长度为零的串;而空白串(Blank String),是指包含一个或多个空白字符(空格键)的字符串.,8,子串:子串位置:字符位置:串相等:,例1:现有以下4个字
5、符串:a=BEI b=JING c=BEIJING d=BEI JING,问:他们各自的长度?,a是c和d的子串,在c和d中的位置都是1,串S中任意个连续的字符序列叫S的子串;S叫主串。子串的第一个字符在主串中的序号。字符在串中的序号。串长度相等,且对应位置上字符相等。,a是哪个串的子串?在主串中的位置是多少?,a=3,b=4,c=7,d=8,“空串是任意串的子串;任意串S都是S本身的子串,除S本身外,S的其他子串称为S的真子串。”数据结构与算法中山大学出版社,空串是哪个串的子串?a是不是自己的子串?,9,C语言中已有类似的串运算函数!,ADT StringObjects:D=ai|aiCha
6、racterSet,i=1,2,,n,n0Relations:R1=|ai-1,ai D,i=2,,nfunctions:/至少有13种基本操作StrAssign(&T,chars)/串赋值,生成值为chars的串TStrCompare(S,T)/串比较,若ST,返回值大于0 StrLength(S)/求串长,即返回串S中的元素个数 Concat(&T,S1,S2)/串连接,用T返回S1S2的新串 SubString(&Sub,S,pos,len)/求S中pos起长度为len的子串 int Index(S,T,pos)/子串定位函数(模式匹配),返回位置 Replace(&S,T,V)/用子串
7、V替换子串TADT String,串的抽象数据类型定义(参见教材P71),最小操作子集,10,注:Concat操作concatenation,把多个短字符串合并为长字符串,复习:C语言中常用的串运算,C串比较:int strcmp(char*s1,char*s2);求串长:int strlen(char*s);串连接:char strcat(char*to,char*from)子串T定位:char strchr(char*s,char*c);,注:用C处理字符串时,要调用标准库函数#include,类CStrCompare(S,T)StrLength(S)Concat(&T,S1,S2)Ind
8、ex(S,T,pos),11,Replace(&S,T,V)/用子串V替换子串T,设 s=I AM A STUDENT,t=GOOD,q=WORKER。求:(参见P71),例1:,StrLength(s)StrLength(t)SubString(&sub,s,8,7)=SubString(&sub,t,2,1)=Index(s,A)=Index(s,t)=Replace(&s,STUDENT,q)=,144STUDENTO,30(s中没有t=GOOD),Index(S,T,pos)/返回子串T在pos之后的位置,I AM A WORKER,12,提问:当s=I AM A STUDENT时,I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构串 数据结构 PPT 课件
链接地址:https://www.31ppt.com/p-5519655.html