日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kmp有next和nextval的C语言,KMP算法计算next值和nextVal值

發布時間:2024/3/26 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kmp有next和nextval的C语言,KMP算法计算next值和nextVal值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

KMP算法:

給定一個主串S及一個模式串P,判斷模式串是否為主串的子串;若是,返回匹配的第一個元素的位置(序號從1開始),否則返回0;

這里先不寫算法,僅僅計算next和nextVal值

那么計算時只用到子串,也就是模式串

這里模式串為:abaabcac

第一步將模式串寫上序號,我們這里從1開始(有的從0開始,建議充1開始)

然后計算出maxL值,列出從第一個開始的子串,找出相等的前綴和后綴的個數

如果2>看不懂的話,看3>,

2>計算maxL值

所以maxL值

如果這個看不懂的話, 看下面的3>

3>, 如果2>看懂了這個就不用看了

依次類推

4>計算next值

接下來將maxL復制一行,去掉最后一個數,在開頭添加一個-1,向右平移一個格,然后每個值在加1的到next值

5>計算nextVal值,首先將第一個為0,然后看next和maxL是否相等(先計算不相等的)

當next和maxL不相等時,將next的值填入

當next和maxL相等時,填入對應序號為next值得nextVal值

所以整個nextVal值為:

手算KMP匹配的Next值和Nextval值

文章作者:姜南(Slyar)?文章來源:Slyar Home (www.slyar.com) 轉載請注明,謝謝合作. KMP 算法我們有寫好的函數幫我們計算 Next 數組的值和 Nextval 數組 ...

20 KMP匹配的Next值和Nextval值

i???????0????1????2????3????4????5????6????7????8 s?????a????b????a????b????a????a????b????a????b n ...

KMP算法之從next[]到nextVal[] (轉)

前些日子寫了一篇KMP算法的博文,淺談數據結構之KMP(串中的模式匹配算法),在這片文章中,談到了一個模式串K值的記錄數組 next[],詳細可看那篇文章,其實,前面定義的next[]數組是有一定缺陷 ...

KMP算法之從next[]到nextVal[]

前些日子寫了一篇KMP算法的博文,淺談數據結構之KMP(串中的模式匹配算法),在這片文章中,談到了一個模式串K值的記錄數組 next[],詳細可看那篇文章,其實,前面定義的next[]數組是有一定缺陷 ...

字符串匹配KMP算法中Next[]數組和Nextval[]數組求法

數據結構課本上給了這么一段算法求nextval9[]數組 int get_nextval(SString T,int &nextval[ ]) { //求模式串T的next函數修正值并存入數組 ...

KMP算法具體解釋(轉)

作者:July. 出處:http://blog.csdn.net/v_JULY_v/. 引記 此前一天,一位MS的朋友邀我一起去與他討論高速排序,紅黑樹,字典樹,B樹.后綴樹,包含KMP算法,只有在解 ...

完全掌握KMP算法思想

文檔下載頁面http://download.csdn.net/detail/yedeqixian/4209500????? 80頁在講KMP算法的開始先舉了個例子,讓我們對KMP的基本思想有了最初的認 ...

關于《數據結構》課本KMP算法的理解

數據結構課上講的KMP算法和我在ACM中學習的KMP算法是有區別的,這里我對課本上的KMP算法給出我的一些想法. 原理和之前的KMP是一樣的https://www.cnblogs.com/wkfvaw ...

數據結構4_java---順序串,字符串匹配算法(BF算法,KMP算法)

1.順序串 實現的操作有: 構造串 判斷空串 返回串的長度 返回位序號為i的字符 將串的長度擴充為newCapacity 返回從begin到end-1的子串 在第i個字符之前插入字串str 刪除子串 ...

隨機推薦

[轉]FINDSTR正則表達式小結

前言:最近寫了一個bat用于快速編譯swf至目標目錄,想利用FINDSTR命令通過匹配目標目錄名稱,匹配數量大概600多個,發現匹配耗時比較久,大概花費10余秒,因此還是放棄字符匹配,乖乖拼出全稱來定 ...

You are attempting to run the 32-bit installer on a 64-bit version of Window

您正試圖在64位版本的窗口中運行32位安裝程序. 系統有32位操作系統和64位操作系統的分別,相同的軟件的安裝也需要區分操作操作系統的位數. 解決辦法:查看自己系統類型,根據類型下載安裝相應位數的軟件 ...

tomcat源碼分析(三)一次http請求的旅行-從Socket說起

p { margin-bottom: 0.25cm; line-height: 120% } tomcat源碼分析(三)一次http請求的旅行 在http請求旅行之前,我們先來準備下我們所需要的工具. ...

[GeoServer]重拾GeoServer之安裝篇

GeoServer的項目是一個完整的Java(J2EE)系統,現實了OpenGIS聯盟的網絡功能服務器規范和網絡覆蓋服務器規范,并且集成了Web地圖服務器. 在大三的時候WebGIS課程中老師講解過一 ...

Java TreeMap 源碼解析

繼上篇文章介紹完了HashMap,這篇文章開始介紹Map系列另一個比較重要的類TreeMap. 大家也許能感覺到,網絡上介紹HashMap的文章比較多,但是介紹TreeMap反而不那么多,這里面是有原 ...

C# WinFrom 導入Excel文件,顯示進度條

因為WINForm程序是在64位上運行如果使用另外一種快速的讀取Excel的方法會報“未在本地計算機上注冊“Microsoft.Jet.OLEDB.12.0”提供程序” 所以我就換了現在這種讀取有點慢 ...

[Leetcode][Python]36: Valid Sudoku

# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 36: Valid Sudokuhttps://oj.leetcode.com ...

最全ajax函數

function ajax(method, url, data, success) { var xhr = null; try { xhr = new XMLHttpRequest(); } catc ...

strace命令詳解

轉自:?http://www.cnblogs.com/ahuo/p/4150623.html 備注: 這篇博文學到的不僅僅是 strace 這個命令,還有前輩的排錯思路,致敬! strace 命令是一 ...

總結

以上是生活随笔為你收集整理的kmp有next和nextval的C语言,KMP算法计算next值和nextVal值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。