美文网首页
2018-03-23 串(字符串)

2018-03-23 串(字符串)

作者: Ceilen | 来源:发表于2018-03-24 00:40 被阅读0次

        串(string)是仅有字符组成的特殊的线性表,分为顺序存储和链式存储。字符串有很多重要的操作,赋值,求长度,连接,求子串,删除,定位,替换等。字符串一般不用来比较大小,而是用于来比较是否相等。

串的匹配:

BF(bruce force)算法复杂度可以到O(m*n)效率低

KMP模式匹配算法,S表示主串,T表示子串,匹配的时间复杂度只与子串有关,而与主串无关。其中的核心在于存在一个next数组, next数组用于生成下一次匹配索引,next数组的生成只与子串本身的结构有关,根据失配位置,判断前缀和后缀相同的数量。前后缀判断是从中切开,看两边的字符是否相同,奇数直接丢弃。

无前缀               填0 
只有前缀           填1
前缀后缀不同    填1 
前缀后缀相同    填2  (前后缀长度+1)

K数组生成

注意:前缀是固定的,后缀是相对的

KMP算法代码

相关文章

  • 2018-03-23 串(字符串)

    串(string)是仅有字符组成的特殊的线性表,分为顺序存储和链式存储。字符串有很多重要的操作,赋值,求长...

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

  • iOS中的NSString与NSMutableString

    字符串的创建 字符串读写 字符串的比较 字符串的搜索 字符串截取 字符串替换 字符串与路径 字符串转换 NSMut...

  • C++基础字符串

    字符串的构造 字符串特性描述 字符操作 字符串赋值 字符串连接 字符串比较 字符串查找 字符串替换 字符串删除 字...

  • php 字符串常见方法汇总

    字符串拼接 字符串检索 字符串截取 字符串替换 字符串大小写转化 字符串转数组 字符串格式化

  • iOS NSString用法总结

    字符串属性 字符串截取 字符串比较 字符串搜索 字符串拼接 字符串基本类型转换 字符串分行,分段 字符串列举(按条...

  • iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iO

    iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 ...

  • PHP中字符串函数库常用函数解析 -- PHP 学习 (十一)

    常用字符串函数分类: 字符串长度, 字符串查找, 字符串大小写转换, 字符串截取, 字符串 ASCII, 字符串加...

  • Kotlin语言(二):字符串类型

    1、字符串定义 2、字符串删除空格 3、字符串比较 4、字符串切割 5、字符串截取 6、字符串替换 7、字符串模板

  • 字符串扩展

    求字符串大小 字符串解码、转换 字符串截取 字符串汉字处理 字符串 Mac地址 字符串进制转换

网友评论

      本文标题:2018-03-23 串(字符串)

      本文链接:https://www.haomeiwen.com/subject/wfuxcftx.html