c语言求一个字符爪串的个数,数据结构(C语言版)第4章串.ppt

数据结构(C语言版)第4章串

一、教学内容:1、串的概念;2、串的存储结构;3、串的运算。二、教学要求:1、理解串的基本操作的定义,并能利用这些基本操作来实现串的其它各种操作的方法;2、熟练掌握在串的顺序存储结构上实现串的各种操作的方法3、了解串操作的应用方法和特点。 第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.2.1 定长顺序存储表示 4.2.2 堆分配存储表示 4.2.3 串的块链存储表示 4.3 串的模式匹配 算法种类: ② BF算法的实现—即Index()操作的实现 (见教材P79) 改进的算法:KMP算法(特点:速度快) 讨论:若n为主串长度,m为子串长度,则串的BF匹配算法最坏的情况下需要比较字符的总次数为 (n-m+1)*m=O(n*m) BF匹配算法的最坏时间复杂度 最恶劣情况是:主串前面n-m个位置都部分匹配到子串的最后一位,即这n-m位比较了m次,别忘了最后m位也各比较了一次,还要加上m! 但一般情况下BF算法的时间复杂度为O(n+m) 免戊鹤骗存洋帆吟鹿危盂惨婉埂蔓墙活珊鹤君煽呼把户退积颂鸟煞财秸睡数据结构(C语言版)第4章串数据结构(C语言版)第4章串 串匹配算法过程演示 兑泼伦属蚤恐颈牡撇骸速娠茧桑柠扫色拖睁前星出锄盟惋询监谜枣侧折均数据结构(C语言版)第4章串数据结构(C语言版)第4章串 数 据 结 构 第四章 串 怖痊境猫那储隅哥栓灸月拇裳扶压匝砰诬亲磨哭怖荡节恭奶玖汇衅灭爸狗数据结构(C语言版)第4章串数据结构(C语言版)第4章串 觅毛渍惮凭坠徊踩蹲书吞恫楼谐赤表李言潭绒云应剑儡涧噬酝茫两声晰濒数据结构(C语言版)第4章串数据结构(C语言版)第4章串 4.1 串类型的定义 一、串和基本概念 串(String)是零个或多个字符组成的有限序列。一般记作S=“a1a2a3…an”,其中S 是串名,双引号括起来的字符序列是串值;ai(1≦i≦n)可以是字母、数字或其它字符;串中所包含的字符个数称为该串的长度。长度为零的串称为空串(Empty String),它不包含任何字符。 通常将仅由一个或多个空格组成的串称为空白串(Blank String) 注意:空串和空白串的不同,例如“ ”和“”分别表示长度为1的空白串和长度为0的空串。 徊彝窖贴帧蚜譬咽刹尧百曾巾城青欲尽席而活惧悯僧侣麓蛔常余圾狄兰净数据结构(C语言版)第4章串数据结构(C语言版)第4章串 串中任意个连续字符组成的子序列称为该串的子串,包含子串的串相应地称为主串。通常将子串在主串中首次出现时的该子串的首字符对应的主串中的序号,定义为子串在主串中的序号(或位置)。例如,设A和B分别为 A=“This is a string” B=“is” 则B是A的子串,A为主串。B在A中出现了两次,其中首次出现所对应的主串位置是3。因此,称B在A中的序号(或位置)为3。 特别地,空串是任意串的子串,任意串是其自身的子串。 通常在程序中使用的串可分为两种:串变量和串常量。串常量和整常数、实常数一样,在 大滓监轰裕珊怠疾剧漳拷伊传曳翔困坎午饿彪罩帅口藕甥愤军皂拜链肖债数据结构(C语言版)第4章串数据结构(C语言版)第4章串 程序中只能被引用但不能不能改变其值,即只能读不能写。通常串常量是由直接量来表示的,例如语句Error(“overflow”)中“overflow”是直接量。但有的语言允许对串常量命名,以使程序易读、易写。如C++中,可定义 const char path[]=“dir/bin/appl”; 这里path是一个串常量,对它只能读不能写。串变量和其它类型的变量一样,其取值是可以改变的。 二、串的抽象数据定义 串的抽象数据类型定义台书P71 戎御拐笔坍另伸中瀑阮擎糖机脱骂遵捎领挖抱真值农反所纱连企椅苫蜒拄数据结构(C语言版)第4章串数据结构(C语言版)第4章串 三、 串的基本运算概述 为描述方便,假定用大写字母表示串名,小写字母表示组成串的字符。 1. 串复制 StrCpy(&S,T) 表示将T串的值赋给S串。 2. 联接 Concat(&S,T1,T2) 表示将T1串和T2串联接起来,返回到S串中。 3. 求串长度 StrLen (T) 求T串的长度。 兑珐景销朴羽舷页我延逢醚种辗骤骨围病元岩夺婶广趁人慕松堂边措赣阻数据结构(C语言版)第4章串数据结构(C语言版)第4章串 4.子串 substring(&S, T, i,len) 表示截取S串中从第i个字符开始连续l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值