数据结构--串

串的定义:零个或多个字符组成的有限序列(即字符串);

长度:字符的数目 (数目为零:空串)
字符串的比较
本质上是进行ASCII编码上序号的比较。
串的相等条件:(长度相等,所有位置的编码大小一致);
串的大小比较:(1:长度相等,依次比较相同位置编码大小;2:长度不相等:依次比较相同位置的编码大小,。先出现编码小的字符串则小,反之则大)。
串的存储结构
顺序存储结构

实现方式:一定的固定存储空间,一般末尾有标记符例如:“\0”;
以为顺序存储空间的缺点,空间固定,所以进行字符串的操作的时候会出现溢出等现象,所以这里有一些变化,串值的存储空间可在程序执行过程中动态
分配而得。(堆区)

链式存储结构

一般使用一个节点存储多个字符来实现,未满的节点则使用#来占位。
优点:在进行字符串的操作,拼接方便
缺点:不如顺序存储灵活,性能不好。

字符串的匹配算法

字符串的子串的定位操作一般称为模式匹配

朴素模式匹配算法

时间复杂度最好O(1) ,这点有疑问???????????????
时间复杂度 最差 O((n-m+1)*m)

KMP模式匹配算法

你可能感兴趣的:(数据结构--串)