C版数据结构:第4章,字符串存储与模式匹配详解
需积分: 9 45 浏览量
更新于2024-07-11
收藏 435KB PPT 举报
本章主要探讨了C版本数据结构中的字符串概念及其在程序设计中的应用。字符串被定义为由零个或多个字符组成的有限序列,具有明确的逻辑结构,包括非空串、空串、子串、主串以及它们的位置定义。通过字符间的比较来判断串的相等性和顺序关系。
在逻辑结构方面,非空串通常用"S=s1s2……sn"的形式表示,其中"S"是串名,双引号内的部分是串值,而si表示单个字符。串的长度指的是串中字符的数量,空串长度为0,记作"\"。
为了存储字符串,有两种常见的存储结构方案。首先,顺序存储结构分为非压缩和压缩两种方式。非压缩方式每个数组单元只存储一个字符,可能导致空间浪费;而压缩方式尝试在一个单元内存储多个字符,但可能增加算法实现的复杂性。方案1采用一个额外的变量表示实际串长度,这样数组以字符的形式存储,末尾添加一个特殊字符(如`\0`)来表示串结束,空闲单元用于扩展。方案2是在串尾附加一个特殊的终止字符,如双引号或`\0`,但这可能导致误识别,因为它也可能出现在字符串中。
此外,对于模式匹配,本章会讲解如何通过比较字符来确定两个串的关系,例如完全相等、不等或顺序上的先后。例如,通过逐个比较S1="ab12cd"、S2="ab12"和S3="ab13"中的字符,可以确定它们之间的相对顺序。
总结来说,第4章字符串关注的核心内容是字符串的定义、逻辑结构、长度计算、存储方法(包括顺序存储的不同形式)以及模式匹配算法。这些知识点是编程中处理文本数据的基础,对于理解和实现字符串处理函数、字符串搜索和替换等操作至关重要。
2018-02-21 上传
2009-09-01 上传
2022-06-24 上传
2022-06-24 上传
2022-07-04 上传
2022-06-24 上传
2022-06-24 上传
2020-09-04 上传
2022-11-30 上传
昨夜星辰若似我
- 粉丝: 48
- 资源: 2万+
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能