Carson带你学数据结构: ”串“ 的全面讲解


前言

  • 本文主要讲解 数据结构中的串
  • 内容包括其特点、结构等,希望你们会喜欢。

目录

示意图

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. 总结

  • 本文主要讲解了 数据结构中 串的知识,含 其特点、结构等
  • 下面我将继续对 数据结构进行讲解,有兴趣可以继续关注Carson_Ho的简书

欢迎关注Carson_Ho的简书!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度


请点赞!因为你的鼓励是我写作的最大动力!

相关文章阅读
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android事件分发机制详解:史上最全面、最易懂
Android开发:史上最全的Android消息推送解决方案
Android开发:最全面、最易懂的Webview详解
Android开发:JSON简介及最全面解析方法!
Android四大组件:BroadcastReceiver史上最全面解析
Android四大组件:Service服务史上最全面解析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 老北京: Ancient Winding Courtyard Historical site Well-prese...
    IMN阅读 968评论 0 0
  • 任性、调皮的2016年就这么过去了。在即将迎来2017年的短短2个多小时内,对于自己过往的历程以及来年的路...
    feeling88阅读 2,649评论 1 0
  • 快要考试了,才想起来没有学习, 翻翻哪些制定的计划,还安静的躺在哪里,一动没动, 转过身,发现已经玩耍了那么多的日...
    小丫头9080阅读 1,527评论 0 8
  • 回不去 总是觉得有很深很深的忧伤和无奈从心底而起 而我只能看着它,漫无目的不断前行 好希望有条轨道可以变换轨迹,驶...
    风一样的阳光橙阅读 1,410评论 0 0