資料結構: ”串“ 的全面講解

前言
- 本文主要講解 資料結構中的串
- 內容包括其特點、結構等,希望你們會喜歡。
- 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的安卓開發筆記