• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            冬天¤不回來(lái)
            海風(fēng)輕輕吹過(guò)我的臉龐 陽(yáng)光溫柔的灑在我身上 海鷗自由的飛在天空中像 快樂(lè)的徘徊在游樂(lè)場(chǎng) 白云在偷看彩虹的模樣 海洋總為那船長(zhǎng)指方向 海浪撫摸著沙灘的衣裳 我也每天都為他換上新裝 找到方向 揭開(kāi)迷茫 學(xué)著堅(jiān)強(qiáng) 努力去闖!
            posts - 20,  comments - 90,  trackbacks - 0
            昨天在文章中提到了修正,沒(méi)有給出解釋.今天進(jìn)行補(bǔ)充.讓我們先來(lái)看看我的好友寫(xiě)的吧!
            /////////////////////////////////////////////////////////////////////////////
            程序沒(méi)有使用一個(gè)數(shù)組來(lái)保存未修正時(shí)的NEXT值 而直接用J來(lái)充當(dāng)這個(gè)功能 但是J是由NEXT(已修正)得來(lái)的 那么有沒(méi)有可能J得不到正確的值?
            這個(gè)問(wèn)題最先是我自己想的 后來(lái)驗(yàn)證了一下 J一定能夠得到正確的值
            下面我們來(lái)分析一下
            下標(biāo)???????????????????????? 0? 1? 2? 3? 4? 5? 6? 7? 8? 9?10 11 1213
            目標(biāo)串???????????????????? 0? 1 ?0? 0 ?1? 0? 1? 0? 1? 0? 0?? 0?? 0??1
            j(未修正的next)?????? -1 0? 0? 1? 1? 2? 3? 2? 3? 2? 3? ?4?? 1? 1
            修正了的next????????? -1 0 -1? 1? 0?-1? 3 -1 3 -1? 0? 4?? 1?? 0

            讓我們看看但模式串比較到了12位的時(shí)候(下標(biāo)為11)
            next[11] = 4; next[4] = 0; j|4 = 1...
            這時(shí)候next[4]拿到的并不是正確的J值!!!
            這會(huì)導(dǎo)致什么?會(huì)導(dǎo)致略過(guò)一個(gè)比較 即p[11]與p[1]的比較被略過(guò)!直接比較了p[11]與p[0]!
            是否可以略過(guò)這個(gè)比較?!
            答案是肯定的.
            根據(jù)邏輯推理 如果p[11]與p[4]不等 而p[4] = p[1]那么p[11]與p[1]一定不等 所以可以略過(guò)
            這樣說(shuō)似乎很牽強(qiáng) 我們?cè)倩叵胍幌翹EXT數(shù)組的意義 即當(dāng)我們比較到i位時(shí)不等 應(yīng)該由哪一位重新開(kāi)始比較 而實(shí)際上 這個(gè)過(guò)程相當(dāng)于在 7-11的這個(gè)串中查找0-3!所以根據(jù)NEXT數(shù)組的意義 我們也可以知道 這里并不會(huì)導(dǎo)致錯(cuò)誤 由于被略去的比較一定不需比較 因此 J始終可以得到正確的未修正的NEXT值!
            ////////////////////////引用自室友 <KMP算法淺析>http://m.shnenglu.com/sicheng/archive/2006/10/10/13537.html////////////

            上面的例子很經(jīng)典! 這里我也寫(xiě)點(diǎn)容易的,給和我一樣理解能力不強(qiáng)的笨苯 OHOH!

            看這個(gè)例子:
            ???????????????????? p = "aaaba"? , t = "aaabbaaaaaaaba"

            ??????????????????????????????????????? a? a? a? b? b? a? a? a? a? a? a? a? b? a
            ?
            ????????????????????????????????????????a? a? a??b? a???????????????????????? (第一次)

            ????????????????????????????????????????????a? a? a? b? a???????????????????? (第二次)

            ????????????????????????????????????????????????????????????? ...............

            ?????????????????????????????????????????????????????????????????????????? a? a? a? b? a (成功匹配)

            ????? 1.為什么要進(jìn)行修正?? 我們把next數(shù)組比喻成第一次比較.? 在第一次比較中,比較失敗的是"第"4個(gè)字符a,這表明前4個(gè)字符是成功的!" 而p中的b的前3個(gè)字符并沒(méi)有出現(xiàn)b",也就是說(shuō)在下一趟比較中,至少應(yīng)該將p向右移動(dòng)4個(gè)字符;因此得到了未修正的next值=4 .
            ????? 2.而實(shí)際上,p的頭個(gè)字符與最后一個(gè)字符是一樣的(a).也就是說(shuō)如果按照上面所說(shuō)的4進(jìn)行移位,再?gòu)膒的頭個(gè)字符開(kāi)始比較同樣肯定是不等的(將會(huì)出現(xiàn)下面的情況)
            ??????????????????????????????????????? a? a? a? b? b? a? a? a? a? a? a? a? b? a
            ?
            ????????????????????????????????????????a? a? a??b? a???????????????????????? (第一次)

            ???????????????????????????????????????????????????????a? a? a? b? a????????? (這次第一個(gè)字符a? 和 第一次比較最后一個(gè)字符是一樣的,因此移4位肯定也不等)

            得出結(jié)論是:應(yīng)該將p向右移動(dòng)五位. 再?gòu)膒的頭個(gè)字符進(jìn)行比較.

            ???? 3.所以說(shuō)對(duì)于某個(gè)字符串,在算出next[i]的值后,不一定會(huì)得到"最快速的移動(dòng)位數(shù)).拿上面的例子說(shuō),第2次其實(shí)移4和5位其實(shí)最后都能比較出正確答案.但移5位最好(得到休整值最好).

            ? 怎樣計(jì)算修正的值,就去看我同學(xué)的連接吧,寫(xiě)得很清楚,不知道上面我是否寫(xiě)清楚了(嘿嘿),我盡力了!!!!!




            posted on 2006-10-11 18:52 冬天¤不回來(lái) 閱讀(4362) 評(píng)論(2)  編輯 收藏 引用

            FeedBack:
            # re: KMP算法詳解(NEXT數(shù)組修正的補(bǔ)充)
            2007-01-05 19:00 | 冬天¤不回來(lái)
            好像寫(xiě)的不太清楚
              回復(fù)  更多評(píng)論
              
            # re: KMP算法詳解(NEXT數(shù)組修正的補(bǔ)充)
            2008-08-10 19:51 | 郭勍
            不是很明白。  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            QQ:41696402

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(3)

            隨筆檔案

            文章檔案

            Programming

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 39455
            • 排名 - 540

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久www免费人成精品| 精品午夜久久福利大片| 99久久精品午夜一区二区| 国产成人综合久久精品红| 国产精品VIDEOSSEX久久发布| 久久久久久国产精品免费无码| 久久人妻少妇嫩草AV蜜桃| 久久久久久久女国产乱让韩| 2020国产成人久久精品| 精品国产乱码久久久久软件| 中文字幕日本人妻久久久免费| 国产精品久久久久久五月尺| AV无码久久久久不卡蜜桃| 久久久噜噜噜久久中文福利| 狠狠色丁香婷婷久久综合不卡| 一本久久a久久精品综合夜夜| 99久久精品费精品国产| 欧美激情精品久久久久久久| 亚洲午夜无码久久久久小说| 亚洲午夜久久久久久久久电影网| 伊人久久无码中文字幕| 久久精品国产精品亚洲精品| 狠狠色综合网站久久久久久久| 伊人久久大香线蕉无码麻豆| 99精品国产综合久久久久五月天| 亚洲精品美女久久777777| 久久成人精品视频| 久久久WWW成人| 久久久久免费看成人影片| 久久免费高清视频| 97香蕉久久夜色精品国产| 亚洲av日韩精品久久久久久a| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产激情久久久久影院老熟女免费| 久久久久亚洲AV无码专区网站| 久久精品国产亚洲AV久| 久久99热国产这有精品| 亚洲精品乱码久久久久久按摩| 国产午夜精品久久久久九九电影 | 国产精品一区二区久久精品涩爱 | 精品久久久无码人妻中文字幕|