码迷,mamicode.com
首页 > 编程语言 > 详细

算法:(五)字符串

时间:2018-12-15 11:58:08      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:str   数字   kmp算法   连续   特点   深度   字符串   前缀   长度   

(一)字符串题目的特点

①广泛性

  • 字符串可以看作字符类型的数组,与数组的排序、查找、调整有关
  • 很多其他类型的题可看作字符串类型的题

②需要掌握的概念

  • 回文
  • 子串(连续)
  • 子序列(不连续)
  • 前缀树(Trie树)
  • 后缀树和后缀数组
  • 匹配
  • 字典序

③需要掌握的操作

  • 与数组有关的操作:增删改查
  • 字符的替换
  • 字符串的旋转

(二)字符串题目的常见类型

①规则判断

  • 判断字符串是否符合整数规则
  • 判断字符串是否符合浮点数规则
  • 判断字符串是否符合回文字符串规则

②数字运算

  • int和long类型表达整数范围有限所以经常用字符串实现大整数,与大整数相关的加减乘除操作,需要模拟笔算的过程

③与数组操作有关的类型

  • 数组有关的调整、排序等操作
  • 快速排序的划分过程要掌握和改写

④字符计数

  • 哈希表
  • 固定长度的数组(C/C++256长度,JAVA65536长度)
  • 滑动窗口问题、寻找无重复字符子串问题、计算变位词问题

⑤动态规划类型

  • 最长公共子串
  • 最长公共子序列
  • 最长回文子串
  • 最长回文子序列

⑥搜索类型

  • 深度优先搜索
  • 宽度优先搜索

⑦高级算法与数据结构解决的问题

  • Manacher算法解决最长回文子串问题
  • KMP算法解决字符串匹配问题
  • 前缀树结构
  • 后缀树和后缀数组

算法:(五)字符串

标签:str   数字   kmp算法   连续   特点   深度   字符串   前缀   长度   

原文地址:https://www.cnblogs.com/M-M-Monica/p/10122569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!