字符串常见算法整理

文章目录

  • 单字符串问题:
    • 字符串反转
      • 句子反转
    • 压缩统计
    • 截取字符(串)
    • 替换元素(空格)
    • 剔除元素
    • 回文判断
    • 排列组合
    • 生成子串
    • 生成子序列
    • 字符环
      • 构造新字符串办法
      • 字符串的旋转
      • 移动数组
    • 最长回文子串
    • 最长回文子序列
    • 括号匹配深度
    • 周期和border
    • 字符(串)转整型数
    • 计算数学表达式
    • AC自动机
    • 加解密
    • 查找特性
      • 第 i(1)个出现N次的字符在当前字符串中的索引
      • 第 i(1) 个不重复的字符在当前字符串中的索引
    • 哈希表实现快速查找
    • 借助第三方:素数(质因数分解的唯一性)
  • 字符串交互问题:
    • (ASCLL码)排序
    • 匹配问题
      • 比较差异度
      • 拓扑结构相同的子树
      • 变形词问题
    • (最长)公共前缀
    • (最长)公共后缀
    • (最长)公共字符串 LCP
      • 子串判断
    • 扩展KMP算法
      • (最长)非递增(减)公共字符串
      • N个字符串
      • N个字符环
    • (最长)公共子序列 LCS
      • 子序列判断
      • (最长)非递增(减)公共子序列
      • N个字符串
      • N个字符环
    • 超精度运算
    • (数据结构的)巧妙设计
      • 键值对(pair、map、set)
    • 搜索算法
      • DFS
      • BFS
    • BM算法
    • Sunday 算法
    • RK算法
    • 借鉴博客




单字符串问题:



字符串反转


句子反转



压缩统计



截取字符(串)



替换元素(空格)



剔除元素



回文判断



排列组合



生成子串



生成子序列



字符环


构造新字符串办法


字符串的旋转


移动数组



最长回文子串



最长回文子序列



括号匹配深度



周期和border



字符(串)转整型数



计算数学表达式



AC自动机



加解密



查找特性


第 i(1)个出现N次的字符在当前字符串中的索引


第 i(1) 个不重复的字符在当前字符串中的索引



哈希表实现快速查找



借助第三方:素数(质因数分解的唯一性)

两个字符串比较求最优算法



字符串交互问题:



(ASCLL码)排序



匹配问题



比较差异度


拓扑结构相同的子树


变形词问题



(最长)公共前缀



(最长)公共后缀



(最长)公共字符串 LCP


子串判断


## KMP算法实现
## 处理字符环(加长一倍长度即可同理处置)

扩展KMP算法



(最长)非递增(减)公共字符串


N个字符串


N个字符环



(最长)公共子序列 LCS


子序列判断


(最长)非递增(减)公共子序列


N个字符串


N个字符环



超精度运算



(数据结构的)巧妙设计


键值对(pair、map、set)



搜索算法


DFS


BFS



BM算法



Sunday 算法



RK算法



借鉴博客

https://blog.csdn.net/UranusITS/article/details/81063801

https://blog.csdn.net/lianhuijuan/article/details/61617018

你可能感兴趣的:(字符串算法,算法优化)