# å符串å¹é ## BF(Brute force)ç®æ³ å®ç°ï¼æ¯æ¬¡ååç§»å¨ä¸ä½è¿è¡å¹é ## RK(Rabin-Karp)ç®æ³ å®ç°ï¼å°æ¯ç»è¦å¹é é¿åº¦çå符串è¿è¡hashï¼åhashåçå ç´ éæ¾ ## BM(Boyer-Moore)ç®æ³ ### æä¸¤é¨åç»æï¼å¹¶ä¸æ¯ç±å¤§å°å°ï¼åçå¹é 1. ååç¼ï¼æ®éå¹é åªä¸ä½ä¸ä½ç§»å¨ï¼ç§»å¨è§å为 si(åå符çä½ç½®) xi(åå符å¨å¹é å符æååºç°çä½ç½®) 齿²¡æxi=-1 ç§»å¨è·ç¦»çäºsi-xi 2. 好åç¼ï¼ååç¼æå¯è½äº§çè´æ°ï¼æä»¥è¿è¦å©ç¨å¥½åç¼æ¥è¿è¡å¹é ï¼å¥½åç¼ç±»ä¼¼ååç¼å¦æå¹é 䏲䏿å好åç¼ç¸åçå串 ï¼ç§»å¨å°æé åçå串çä½ç½®ï¼å¦ææ²¡æç¸åçå串ï¼å°±éè¦å¨å¹é çå串ä¸ï¼æ¥æ¾ååç¼å串å¹é æé¿çå串è¿è¡ç§»å¨ã ## KMPï¼Knuth Morris Prattï¼ç®æ³ å®ç°ï¼å ³é®é¨ånextæ°ç»ï¼å¤±æå½æ°ãnextæ°æ®å°±æ¯å¹é 串å符串æé¿å¹é åç¼åæé¿å¹é åç¼çå ³ç³»ã