知识大全 串 - 串的存储结构 - 串运算的实现(一)
Posted 位移
篇首语:智慧并不产生于学历,而是来自对于知识的终生不懈的追求。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 串 - 串的存储结构 - 串运算的实现(一)相关的知识,希望对你有一定的参考价值。
子串定位运算
串是特殊的线性表 故顺序串和链串上实现的运算分别与顺序表和单链表上进行的操作类似
C语言的串库
串的基本运算部分内容【参见练习】
下面讨论在顺序串和链串上实现的子串定位运算
子串定位运算
子串定位运算类似于串的基本运算中的字符定位运算 只不过是找子串而不是找字符在主串中首次出现的位置 此运算的应用非
常广泛
【例】在文本编辑中 我们经常要查找某一特定单词在文本中出现的位置 解此问题的有效算法能极大地提高文本编辑程序的
响应性能
子串定位运算又称 串的模式匹配 或 串匹配
目标(串)和模式(串)
在串匹配中 一般将主串称为 目标(串) 子串称为 模式(串)
假设T 为目标串 P为模式串 且不妨设
T= t t t …t n
P= p p p …p m (
3、串匹配
串匹配就是对于 合法的位置 (又称合法的位移)0≤i≤n-m,依次将目标串中的子串"t i t i+1 …t i+m-1 "和模式串"p 0
p 1 p 2 …p m-1 "进行比较:
①若"t i t i+1 …t i+m-1 "="p 0 p 1 p 2 …p m-1 ",则称从位置i开始的匹配成功,或称i为 有效位移 。tW.WiNGWit.CoM
②若"t i t i+1 …t i+m-1 "≠"p 0 p 1 p 2 …p m-1 ",则称从位置i开始的匹配失败,或称i为 无效位移 。
因此,串匹配问题可简化为找出某给定模式串P在给定目标串T中首次出现的有效位移。
注意:
有些应用中要求求出P在T中所有出现的有效位移。
cha138/Article/program/sjjg/201311/23904相关参考
因为串是特殊的线性表故其存储结构与线性表的存储结构类似只不过由于组成串的结点是单个字符所以存储时有一些特殊的技巧 串的顺序存储 顺序串 串的顺序存储结构简称为顺序串 与顺序表类似顺序串是用
串的链式存储 链串 > 用单链表方式存储串值串的这种链式存储结构简称为链串 链串的结构类型定义 typedefstructnode chardata; structnode*next
串的顺序存储 串的顺序存储结构简称顺序串顺序串是用一组地址连续的存储单元依次存储串中的字符序列 静态存储分配的顺序串 顺序串最简单的描述形式是直接使用定长的字符数组来定义数组的上界预先
因为串是特殊的线性表故其存储结构与线性表的存储结构类似只不过由于组成串的结点是单个字符所以存储时有一些特殊的技巧串的顺序存储顺序串 串的顺序存储结构简称为顺序串 与顺序表类似顺序串是用一组地址
串的基本运算cha138/Article/program/sjjg/201311/23402
串的链式存储cha138/Article/program/sjjg/201311/23382
顺序串上的子串定位运算 子串定位又称串的模式匹配(PatternMatching)或串匹配(StringMatching) 在串匹配中一般将主串称为目标(串)子串称为模式(串) 假设T为目标串P
串的基本运算 对于串的基本运算很多高级语言均提供了相应的运算符或标准的库函数来实现 为叙述方便先定义几个相关的变量 chars[]=dir/bin/appls[]=fileasms[]*p;
本章介绍了串的逻辑结构存储结构及串上的基本运算由于在高级语言中已经提供了较全善的串处理功能因此本章的重点是掌握在串上实现的模式匹配算法同时这也是本章的难点但是从全书来讲这属于较简单的一章内容 串
串(又称字符串)是一种特殊的线性表它的每个结点仅由一个字符组成 在早期的程序设计语言中串仅在输入或输出中以直接量的形式出现并不参与运算随着计算机的发展串在文字编辑词法 扫描符号处理以及定理证明