美文网首页Android开发程序员Android开发
数据结构: ”串“ 的全面讲解

数据结构: ”串“ 的全面讲解

作者: Carson带你学安卓 | 来源:发表于2019-03-25 09:12 被阅读119次

    前言

    • 本文主要讲解 数据结构中的串
    • 内容包括其特点、结构等,希望你们会喜欢。
    • 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. 总结


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

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


    欢迎关注Carson_Ho的简书!

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

    相关文章

      网友评论

        本文标题:数据结构: ”串“ 的全面讲解

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