4-4-串的KMP匹配算法-串-第4章-《數據結構》課本源碼-嚴蔚敏吳偉民版


課本源碼部分

第4章  串 - KMP匹配算法

——《數據結構》-嚴蔚敏.吳偉民版

       源碼使用說明  鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明

       課本源碼合輯  鏈接☛☛☛ 《數據結構》課本源碼合輯

       習題集全解析  鏈接☛☛☛ 《數據結構題集》習題解析合輯

 

       本源碼引入的文件  鏈接☛ SequenceString.c

 

      文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲04 串\04 KMP

 

概述

       KMP匹配算法是普通匹配算法的改進,它提高了串匹配過程中的效率。

解析

       KMP匹配算法的重點在於利用模式串自身的重復部分,在匹配中消除那些重復的匹配過程。如下圖,當模式串匹配與主串在Si和Pj處失配時,此時如果模式串的兩個黃色區域重復,那么只需將模式串右移一定位置,讓主串的黃色區域與模式串的第一個黃色區域做比較即可。也就是說,Pj處失配后,只需讓主串的Si與Pk繼續比較,而不必退回到P1處。KMP算法就是用來計算模式串某個字符處失配后,應該退回的下一個用來比較的字符位置。

       匹配算法如下圖:

源碼

       文件一 ☛  KMP.h 

 

       文件二 ☛  KMP.c 

 

       文件三 ☛  KMP-main.c (測試文檔)

 

測試結果展示

 

       更多章節持續更新中...微笑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM