锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日本久久久久久久久久,精品久久人人爽天天玩人人妻,青青草原综合久久大伊人导航http://m.shnenglu.com/littlesupersun/archive/2007/09/10/31952.html棣欏績(jī)鏅撶瓚棣欏績(jī)鏅撶瓚Mon, 10 Sep 2007 09:45:00 GMThttp://m.shnenglu.com/littlesupersun/archive/2007/09/10/31952.htmlhttp://m.shnenglu.com/littlesupersun/comments/31952.htmlhttp://m.shnenglu.com/littlesupersun/archive/2007/09/10/31952.html#Feedback1http://m.shnenglu.com/littlesupersun/comments/commentRss/31952.htmlhttp://m.shnenglu.com/littlesupersun/services/trackbacks/31952.htmls鍜屽瓙涓?font face=Times>t錛屽瓙涓?font face=Times>t瀹氫綅鏄寚鍦ㄤ富涓?font face=Times>s涓壘鍒頒竴涓笌瀛愪覆t鐩哥瓑鐨勫瓙涓層傞氬父鎶婁富涓?font face=Times>s縐頒負(fù)鐩爣涓詫紝鎶婂瓙涓?font face=Times>t縐頒負(fù)妯″紡涓詫紝鍥犳瀹氫綅涔熺О浣滄ā寮忓尮閰嶃傛ā寮忓尮閰嶆垚鍔熸槸鎸囧湪鐩爣涓?font face=Times>s涓壘鍒頒竴涓ā寮忎覆t銆?

        浼犵粺鐨勫瓧絎︿覆妯″紡鍖歸厤綆楁硶錛堜篃灝辨槸BF綆楁硶錛夊氨鏄浜庝富涓插拰妯″紡涓插弻鍙岃嚜宸﹀悜鍙籌紝涓涓竴涓瓧絎︽瘮杈冿紝濡傛灉涓嶅尮閰嶏紝涓諱覆鍜屾ā寮忎覆鐨勪綅緗寚閽堥兘瑕佸洖婧傝繖鏍風(fēng)殑綆楁硶鏃墮棿澶嶆潅搴︿負(fù)O錛?font face=Times>n錛?font face=Times>m錛夛紝鍏朵腑n鍜?font face=Times>m鍒嗗埆涓轟覆s鍜屼覆t鐨勯暱搴︺?/p>

        KMP 綆楁硶鏄敱Knuth錛?font face=Times>Morris鍜?font face=Times>Pratt絳変漢鍏卞悓鎻愬嚭鐨勶紝鎵浠ユ垚涓?font face=Times>Knuth錛?font face=Times>Morris錛?font face=Times>Pratt綆楁硶錛岀畝縐?font face=Times>KMP綆楁硶銆?font face=Times>KMP綆楁硶鏄瓧絎︿覆妯″紡鍖歸厤涓殑緇忓吀綆楁硶銆傚拰BF綆楁硶鐩告瘮錛?font face=Times>KMP綆楁硶鐨勪笉鍚岀偣鏄尮閰嶈繃紼嬩腑錛屼富涓茬殑浣嶇疆鎸囬拡涓嶄細(xì)鍥炴函錛岃繖鏍風(fēng)殑緇撴灉浣垮緱綆楁硶鏃墮棿澶嶆潅搴﹀彧涓?font face=Times>O錛?font face=Times>n錛?font face=Times>m錛夈備笅闈㈣璇?font face=Times>KMP綆楁硶鐨勫師鐞嗐?/p>

鍋囪鎴戜滑鏈変釜妯″紡涓蹭負(fù)“abdabcde”瀛樹(shù)簬鏁扮粍t錛屾垜浠姹傜殑灝辨槸妯″紡涓茬殑next鍊鹼紝瑙佷笅琛ㄦ墍紺猴細(xì)


i

0

1

2

3

4

5

6

7

t[i]

a

b

d

a

b

c

d

e

next[i]

-1

0

0

0

1

2

0

0

        姹傛ā寮?font face=Times>t鐨?font face=Times>next[i]錛堢О涓哄け鏁堝嚱鏁幫級(jí)鐨勫叕寮忓涓嬶細(xì)


next[i] =Screenshot11.png

( 涓婇潰鐨勫叕寮忎腑闈?font face=Times>t瀛楁瘝鍜屾暟瀛楃粍鎴愮殑涓烘暟緇勪笅鏍?font face=Times>)

        搴旇濡備綍鐞嗚Вnext鏁扮粍鍛紵鍦ㄥ尮閰嶈繃紼嬩腑錛屽鏋滃嚭鐜頒笉鍖歸厤鐨勬儏鍐碉紙褰撳墠妯″紡涓蹭笉鍖歸厤瀛楃鍋囧畾涓?font face=Times>t[i]錛夛紝瀹冩墍瀵瑰簲鐨?font face=Times>next[i]鐨勬暟鍊間負(fù)鎺ヤ笅鏉ヨ鍖歸厤鐨勬ā寮忎覆鐨勫瓧絎︾殑绱㈠紩錛涗篃灝辨槸璇達(dá)紝鍑虹幇涓嶅尮閰嶇殑鎯呭喌鏃訛紝妯″紡涓茬殑绱㈠紩鎸囬拡瑕佸洖婧埌涓?font face=Times>next[i]鎵瀵瑰簲鐨勪綅緗紝鑰屼富涓茬殑绱㈠紩鎸囬拡淇濇寔涓嶅彉銆?/p>

        鐗瑰埆鐨勶紝next鏁扮粍涓殑next[0]鍜?font face=Times>next[1]鐨勫彇鍊兼槸鍥哄畾鐨勶紝涓轟簡(jiǎn)鏍囪瘑鍑洪瀛楁瘝錛岄渶瑕佸亣瀹?font face=Times>next[0]涓猴紞1錛堝彇涓猴紞1鏄冭檻鍒?font face=Times>C璇█涓殑鏁扮粍绱㈠紩浠?font face=Times>0寮濮嬶級(jí)銆傚湪瀹炵幇鐨勬椂鍊欙紝瑕佸疄鐜板叕寮忎腑鎯呭喌鐨勫鐞嗛渶瑕佷簺鎶宸э紝涓嬮潰緇欏嚭鍏蜂綋鐨勫疄鐜幫細(xì)

# include <stdio.h>
#include <stdlib.h>


typedef struct QString {
    char
*  cs;
    
int  len;
}String;


void GetNext(String s
, int   next []){
    
int  len  =  s . len;
    
int  i  =   0 ;
    
int  k  =   - 1 ;
    
next [ 0 =   - 1 ;
    
while (i  <  len - 1 ){
        
if (k ==- 1   ||  s . cs[i]  ==  s . cs[k]){
            i
++ ;
            k
++ ;
            
next [i]  =  k;
        }
else {
            k 
=   next [k];
        }
    }
}


int  KMPIndex(String s , String m){
    
int   next [m . len] , i = 0 , j = 0 ;
    
int  k;
    GetNext(m
, next );
    while (i < s . len   && j < m . len){
        
if (j ==- 1   ||  s . cs[i]  ==  m . cs[j]){
            i
++ ;
            j
++ ;
        }
else {
            j 
=   next [j];
        }
    }
    
if (j  >=  m . len) return  i - m . len;
    
else   return   - 1 ;
}


        KMP 綆楁硶涔熸湁闇瑕佹敼榪涚殑鍦版柟銆傚浜庢ā寮忎覆“aaaadd”鍦ㄥ尮閰嶆椂錛堝亣瀹氳鍖歸厤涓蹭負(fù)“aaadddd”錛夛紝鍙互鐪嬪埌錛屽湪鍖歸厤鍒扮儲(chǔ)寮?font face=Times>3鏃訛紝涓諱覆瀛楃涓?#8220;d”錛屾ā寮忎覆瀛楃涓?#8220;a”錛屽鏋滄寜鐓т笂闈㈢殑鍋氭硶錛岃繖鏃舵ā寮忎覆鍙細(xì)鍥炴函涓涓儲(chǔ)寮曪紝鐢變簬浠嶄笉鍖歸厤錛屾ā寮忎覆榪樹(shù)細(xì)鍥炴函涓涓儲(chǔ)寮曪紝鐩村埌绱㈠紩浣嶇疆鍒頒簡(jiǎn)棣栧瓧絎︼紝涓諱覆鐨勭儲(chǔ)寮曟寚閽堟墠浼?xì)鍓崢q涗竴浣嶏紝榪欐牱灝變細(xì)嫻垂涓浜涗笉蹇呰鐨勬瘮杈冩椂闂淬傚嚭鐜拌繖縐嶆儏鍐電殑鍘熷洜鏄ā寮忎覆涓綅緗?font face=Times>i鐨勫瓧絎︿笌next[i]瀵瑰簲鐨勫瓧絎︾浉鍚岋紝闇瑕佷慨姝?font face=Times>next[i]涓?font face=Times>next[i]瀵瑰簲鐨勫瓧絎︾殑绱㈠紩銆備笅闈㈠垪鍑?#8220;aaaadd”淇鐨?font face=Times>nextval鏁扮粍鐨勫唴瀹癸細(xì)

i

0

1

2

3

4

5

t[i]

a

a

a

a

d

d

next[i]

-1

0

1

2

3

0

nextval[i]

-1

-1

-1

-1

0

0

        淇鍑芥暟濡備笅錛?/p>

void GetNextval(String s , int  nextval[]){
    
int  len  =  s . len , =   0 , =   - 1 ;
    nextval[
0 =   - 1 ;
    
while (i  <  len - 1 ){
        
if (k ==- 1   ||  s . cs[i]  ==  s . cs[k]){
            i
++ ;
            k
++ ;
            
if (s . cs[i]  !=  s . cs[k]){
                nextval[i] 
=  k;
            }
else    nextval[i]  =   nextval[k];            
        }
else {
            k 
=  nextval[k];
        }
    }
}


璋㈣阿鏌愪漢鐨勭▼搴忥細(xì)錛?br>public class CyclicExe
{
 private int[] next=null;
 
 CyclicExe()
 {
 }
 
 public static void main(String[] args)
 {
  CyclicExe c=new CyclicExe();
  StringBuffer mainString=new StringBuffer("abbabbbaaaaaccd");
  StringBuffer oldString=new StringBuffer("abc");
  String newString=new String("mmm");
  c.initial(oldString);
  int pos=0;
  int index=0;
  while(pos<mainString.length()){
   index=c.findIndex(mainString, oldString, pos);
   if(index!=0){
    mainString.replace(pos, pos+oldString.length()-1, newString);
    pos=pos+oldString.length();
   }
  }
 }
 
 void initial(StringBuffer oldString)
 {
  next=new int[oldString.length()];
  
  int i=1;
  next[1]=0;
  int j=0;
  while(i<oldString.length()){
   if(j==0||oldString.charAt(i)==oldString.charAt(j)){
    i++;
    j++;
    next[i]=j;
   }
   else
    j=next[j];
  }
 }
 
 int findIndex(StringBuffer mainString,StringBuffer oldString,int pos)
 {
  int i=pos;
  int j=1;
  while(i<mainString.length()&&j<oldString.length())
  {
   if(j==0||mainString.charAt(i)==oldString.charAt(j)) {
    i++;
    j++;
   }
   else
    j=next[j];
  }
  
  if(j>oldString.length()) return i-oldString.length();
  else return 0;
 }
 
}

棣欏績(jī)鏅撶瓚 2007-09-10 17:45 鍙戣〃璇勮
]]>
涓閬撳井杞殑闈㈣瘯棰橈紙鏁板榪愮畻鏂歸潰鐨勶級(jí)http://m.shnenglu.com/littlesupersun/archive/2007/08/31/31292.html棣欏績(jī)鏅撶瓚棣欏績(jī)鏅撶瓚Fri, 31 Aug 2007 05:40:00 GMThttp://m.shnenglu.com/littlesupersun/archive/2007/08/31/31292.htmlhttp://m.shnenglu.com/littlesupersun/comments/31292.htmlhttp://m.shnenglu.com/littlesupersun/archive/2007/08/31/31292.html#Feedback1http://m.shnenglu.com/littlesupersun/comments/commentRss/31292.htmlhttp://m.shnenglu.com/littlesupersun/services/trackbacks/31292.html    a b c d e 
 
          * f 
   ______________ 
   錛漡 g g g g g 
 
闂紝a b c d e f g鍚勬槸浠涔堟暟瀛楋紙涓嶉噸澶嶏級(jí)

綆楁硶瑙g瓟錛?11111=3*7*11*13*37
鍥犱負(fù) f!=g&&gggggg%f==0&&f<10
鎵浠?f==3||f==7
 
鍙﹀ abcde<111111 && abcde*f==111111*g
鎵浠?g<f
 
f==7鏃秅==6
f==3鏃舵棤瑙?



棣欏績(jī)鏅撶瓚 2007-08-31 13:40 鍙戣〃璇勮
]]>
久久久久亚洲AV成人网人人网站 | 久久91这里精品国产2020| 中文字幕久久波多野结衣av| 热久久国产欧美一区二区精品| 久久久久久久国产免费看| 四虎影视久久久免费| 久久99精品久久只有精品| 国产成人久久久精品二区三区| 亚洲国产成人久久综合碰| 欧美久久久久久| 久久影院午夜理论片无码 | 久久综合精品国产一区二区三区| 久久丫精品国产亚洲av| 久久精品国产乱子伦| 久久亚洲电影| 亚洲精品无码久久久| 亚洲国产成人精品无码久久久久久综合| 久久婷婷五月综合97色| 伊人久久大香线蕉综合Av| 日韩久久无码免费毛片软件| 精品久久久无码中文字幕天天| 亚洲综合精品香蕉久久网97| 99久久99久久精品国产片| 国产精品久久久99| 欧美久久久久久精选9999| 无码任你躁久久久久久老妇| 久久午夜免费视频| 国产精品99久久久久久猫咪| 九九精品久久久久久噜噜| 国产综合久久久久久鬼色| 精品久久久久久99人妻| 日韩欧美亚洲综合久久| 香蕉久久永久视频| 国产成人精品免费久久久久| 久久www免费人成看国产片| 亚洲国产成人久久笫一页| 国产精品99久久免费观看| 久久久久免费视频| 色婷婷久久久SWAG精品| 夜夜亚洲天天久久| 国产成人综合久久综合|