前言
- 本文主要讲解 数据结构中的串
- 内容包括其特点、结构等,希望你们会喜欢。
- ps:最近在筹备一个”和我一起写Android“的活动,需要各大读者的帮忙,希望能看文章参与哦:我想邀请您和我一起写Android(福利回赠)
目录
示意图1. 简介
示意图2. 存储结构介绍
包括:顺序存储结构 & 链式存储结构
示意图3. 串的比较
示意图4. 子串的定位
- 子串定位 的主要任务是:确定主串是否存在子串 & 子串在主串中的位置
子串的定位操作 也称 串的模式匹配
- 下面主要讲解串模式匹配的重要方法:
KMP
模式匹配算法
4.1 KMP模式匹配算法 简介
http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html
4.2 具体算法
- 概念:字符串的前缀 & 后缀
- 具体使用
步骤1:计算出子串(T串)各个位置的j
值的变化
步骤2:根据步骤1计算出的next
数组,将子串与主串进行模式匹配
下面将重点讲解步骤1:计算出子串(T串)各个位置的 j
值的变化
- 定义1数组:
next [ j ]
= 子串(T串)各个位置的j
值的变化
j
值仅取决于:T
串 当前字符 前后缀字符的相似度
-
示意图next [ j ]
值的函数定义如下
-
举例说明
4.3 算法改进
示意图5. 总结
-
本文主要讲解了 数据结构中 串的知识,含 其特点、结构等
-
ps:最近在筹备一个”和我一起写Android“的活动,需要各大读者的帮忙,希望能看文章参与哦:我想邀请您和我一起写Android(福利回赠)
-
下面我将继续对 数据结构,有兴趣可以继续关注Carson_Ho的安卓开发笔记
请点赞!因为你的鼓励是我写作的最大动力!
相关文章阅读
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android事件分发机制详解:史上最全面、最易懂
Android开发:史上最全的Android消息推送解决方案
Android开发:最全面、最易懂的Webview详解
Android开发:JSON简介及最全面解析方法!
Android四大组件:Service服务史上最全面解析
Android四大组件:BroadcastReceiver史上最全面解析
欢迎关注Carson_Ho的简书!
不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度。
网友评论