亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        數(shù)據(jù)結(jié)構(gòu)中模式匹配算法的教學(xué)方法探討

        2017-11-20 21:03:57任平紅陳矗
        電腦知識與技術(shù) 2017年27期
        關(guān)鍵詞:模式匹配

        任平紅+陳矗

        摘要:字符串是計算機(jī)處理文本編輯問題時經(jīng)常使用的數(shù)據(jù)結(jié)構(gòu),其模式匹配算法是最常見的操作之一。常用的模式匹配算法有BF(Brute-Force)算法和KMP(Knuth-Morris-Pratt)算法。BF算法因匹配失敗時主串和模式串都回溯,在某些情況下效率較差。KMP算法經(jīng)優(yōu)化后目標(biāo)串無回溯,效率較高。文中分析了BF算法和KMP算法的教學(xué)方法,對于模式匹配的學(xué)習(xí)有一定的借鑒作用。

        關(guān)鍵詞:模式匹配;BF算法;KMP算法;next函數(shù)

        中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)27-0173-02

        1 概述

        字符串是比較常用的特殊的線性結(jié)構(gòu),元素類型限定為字符。在實(shí)際的工作中,字符串常被用來處理非數(shù)值問題。字符串的模式匹配是很常見的問題,例如文本編輯中的查找等操作。一般的模式匹配是確定模式串T在目標(biāo)串S中第一次完整出現(xiàn)的位置。常見的算法有樸素的BF算法和經(jīng)優(yōu)化以后的KMP算法。在教學(xué)過程中,由于BF算法思想簡單,學(xué)生理解起來比較容易,教學(xué)效果較好。但是KMP算法思想較為復(fù)雜,部分學(xué)生對KMP算法的理解不夠深刻,特別是對其理論推導(dǎo)過程認(rèn)識模糊,對于模式匹配函數(shù)next的計算掌握的不牢固。針對以上問題,筆者結(jié)合多年的教學(xué)經(jīng)驗(yàn),對兩種模式匹配算法的教學(xué)方法進(jìn)行了分析和總結(jié),對于教學(xué)有一定的借鑒作用。

        2 BF算法

        2.1 基本思想

        BF算法被稱為簡單的、樸素的模式匹配算法。目標(biāo)串S和模式T都從第1個字符開始匹配,如果成功則繼續(xù)匹配下一個字符;如果匹配失敗,則開始新的一趟匹配,目標(biāo)串回到匹配失敗這一趟開始位置的下一個位置,模式重新回到第1個字符。即如果S[i]和T[j]匹配失敗,則i=i-j+1,而j=0(采用順序結(jié)構(gòu)存儲字符串)。例如,某一趟匹配失敗時,字符串S[i-j]…S[i-1]=T[0]…T[j-1],但是S[i]與T[j]不相等。此趟匹配方串從i-j開始,所以下一趟從i-j+1開始,模式指針j=0。

        2.2 算法

        2.3 效率分析

        BF算法簡單明了,應(yīng)用比較廣泛。如果目標(biāo)串的長度為n,模式串的長度為m。最好情況為每趟匹配失敗都發(fā)生在模式的第一個字符。最好情況和平均情況下的時間復(fù)雜度均為O(m+n)。但是如果每趟匹配失敗都發(fā)生在模式的最后一個字符上,效率較差,時間復(fù)雜度為O(mn)。其原因在于匹配的過程中目標(biāo)串和模式的指針都回溯,各趟匹配之間是孤立的,下一趟匹配沒有充分利用前面部分匹配的結(jié)果。KMP算法為BF算法的改進(jìn)算法。

        3 KMP算法

        3.1 基本思想

        KMP算法對BF算法做了很大的改進(jìn)。其出發(fā)點(diǎn)在于當(dāng)匹配失敗,要開始新的一趟匹配時,目標(biāo)串指針不回溯,而模式向右滑動一段距離,其實(shí)是模式指針回溯。要實(shí)現(xiàn)此目標(biāo),必須利用已有的部分匹配的結(jié)果。在教學(xué)過程中,除了利用實(shí)例說明問題外,還需要將其理論的推導(dǎo)公式向同學(xué)們講解清楚,這樣才能使學(xué)生真正理解KMP算法的精髓。KMP算法的核心在于如何確定模式向右滑動的距離值k。模式T的每個位置匹配失敗時對應(yīng)的k值稱為next函數(shù),用一維數(shù)組next[]表示。

        3.2 理論推導(dǎo)

        得到模式T的next函數(shù)之后,KMP算法的匹配過程和BF算法類似,不同之處在于當(dāng)匹配失敗時,主串的指針i不變,模式的指針j回到next[j]的位置上,從而實(shí)現(xiàn)了模式不回溯的目標(biāo)。

        3.4 分析

        與BF算法相比,KMP算法的先進(jìn)之處在于目標(biāo)串指針在匹配失敗時是不回溯的。雖然其平均的時間復(fù)雜度為O(n+m),但需要事先計算模式的next函數(shù),并且算法的難度明顯增加,理解起來比較復(fù)雜。

        4 總結(jié)

        BF算法和KMP算法是字符串模式匹配的兩個重要算法。因BF算法的思想簡單,理解起來比較容易,學(xué)生一般對其掌握的較好。KMP算法對BF算法做了較大的改進(jìn)。當(dāng)匹配失敗時,目標(biāo)串指針不回溯,模式指針向右滑動一段距離,而滑動距離的大小由模式自身決定,與目標(biāo)串無關(guān)。KMP算法充分利用了已有的部分匹配的結(jié)果以及模式本身的特點(diǎn),效率較高。但是其算法較為復(fù)雜,模式的next函數(shù)的計算以及匹配的過程都需要學(xué)生熟練掌握和應(yīng)用。即使如此,KMP算法的思想也非常值得借鑒,在教學(xué)過程中,需要將其理論推導(dǎo)過程向?qū)W生進(jìn)行深入而透徹的講解。同時結(jié)合具體的實(shí)例,向?qū)W生清楚明了地演示其匹配過程,從而達(dá)到較好的教學(xué)效果。

        參考文獻(xiàn):

        [1] 王紅梅,胡明,王濤.數(shù)據(jù)結(jié)構(gòu)(C++版第2版)[M].北京:清華大學(xué)出版社,2011:81-85.

        [2] 安楊,趙波.模式匹配算法的教學(xué)探討[C].第24屆全國計算機(jī)新科技與計算機(jī)教育學(xué)術(shù)會議論文集,2013:121-125.

        [3] 李萍,趙潤林.模式匹配算法的研究與實(shí)現(xiàn)[J].電腦知識與技術(shù),2017,13(18):25-26.endprint

        猜你喜歡
        模式匹配
        儲氫場景與氫氣儲運(yùn)系統(tǒng)的多維度模式匹配優(yōu)化研究
        基于模式匹配的計算機(jī)網(wǎng)絡(luò)入侵防御系統(tǒng)
        電子制作(2019年13期)2020-01-14 03:15:32
        具有間隙約束的模式匹配的研究進(jìn)展
        移動信息(2018年1期)2018-12-28 18:22:52
        OIP-IOS運(yùn)作與定價模式匹配的因素、機(jī)理、機(jī)制問題
        基于AC_QS多模式匹配算法的優(yōu)化研究
        多源異構(gòu)數(shù)據(jù)整合系統(tǒng)在醫(yī)療大數(shù)據(jù)中的應(yīng)用
        價值工程(2017年8期)2017-03-25 04:15:22
        基于XML的農(nóng)產(chǎn)品溯源平臺中模式匹配問題的研究
        基于散列函數(shù)的模式匹配算法
        基于LabVIEW的魔方機(jī)器人系統(tǒng)設(shè)計
        農(nóng)村土地利用數(shù)據(jù)集成的模式匹配方法
        成人美女黄网站色大免费的| av国产免费在线播放| 蜜桃臀av一区二区三区| 久久久噜噜噜久久| 日韩精品中文字幕无码一区| 亚洲av乱码专区国产乱码| 亚洲熟女少妇精品久久| 午夜天堂av天堂久久久| 一本一道久久a久久精品综合| 最近免费mv在线观看动漫| 国产内射合集颜射| 亚洲午夜无码久久久久软件| 亚洲av色在线播放一区| 日韩av无码中文无码电影| 欧美极品美女| 国产亚洲AV片a区二区| 日本免费一区二区在线看片| 日本阿v片在线播放免费| 精品一区二区三区在线观看视频| 欧美伊人亚洲伊人色综| 久久精品国产福利亚洲av| 人妻少妇偷人精品免费看| 黑人巨茎大战欧美白妇| 色爱无码A V 综合区| 青青草视频免费在线播放| 中文字幕人乱码中文字幕| 国产极品美女高潮抽搐免费网站| 国产精品久久久久久2021| 男女啪啪免费视频网址| 欧美性白人极品1819hd| 18禁黄网站禁片免费观看| 在线国产视频精品视频| 成av人片一区二区久久| 国语对白做受xxxxx在| 国产欧美成人| 99视频偷拍视频一区二区三区| 免费在线观看播放黄片视频| 99久久伊人精品综合观看| 国产乱子伦精品免费女| 亚洲精品在线97中文字幕| 欧美69久成人做爰视频|