成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

KMP算法有什么用-創(chuàng)新互聯

這篇文章主要介紹了KMP算法有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、網站空間、營銷軟件、網站建設、斗門網站維護、網站推廣。

KMP算法實例詳解

KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其對于任何模式和目標序列,都可以在線性時間內完成匹配查找,而不會發(fā)生退化,是一個非常優(yōu)秀的模式匹配算法。

分析:KMP模板題、KMP的關鍵是求出next的值、先預處理出next的值、然后一遍掃過、復雜度O(m+n)

實例代碼:

#include<stdio.h> 
#include<string.h> 
#define N 1000005 
int s[N]; 
int p[N]; 
int next[N]; 
int m,n; 
void getnext(){ 
 int j=0,k=-1; 
 next[0]=-1; 
 while(j<m){ 
  if(k==-1||p[j]==p[k]){ 
   j++; 
   k++; 
   next[j]=k; 
  } 
  else 
   k=next[k]; 
 } 
} 
int kmp(){ 
 int i=0,j=0; 
 getnext(); 
 while(i<n){ 
  if(j==-1||s[i]==p[j]){ 
   i++; 
   j++; 
  } 
  else 
   j=next[j]; 
  if(j==m) 
   return i; 
 } 
 return -1; 
} 
int main(){ 
 int t; 
 scanf("%d",&t); 
 while(t--){ 
  scanf("%d%d",&n,&m); 
  for(int i=0;i<n;i++) 
   scanf("%d",&s[i]); 
  for(int i=0;i<m;i++) 
   scanf("%d",&p[i]); 
  if(kmp()==-1) 
   printf("-1\n"); 
  else 
   printf("%d\n",kmp()-m+1); 
 } 
 return 0; 
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“KMP算法有什么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯建站,關注創(chuàng)新互聯網站建設公司行業(yè)資訊頻道,更多相關知識等著你來學習!

另外有需要云服務器可以了解下創(chuàng)新互聯建站jinyejixie.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文題目:KMP算法有什么用-創(chuàng)新互聯
地址分享:http://jinyejixie.com/article12/ddegdc.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站導航、云服務器、品牌網站建設、品牌網站設計服務器托管、靜態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

手機網站建設
安仁县| 星子县| 洪泽县| 平果县| 城市| 阳原县| 崇信县| 陕西省| 朝阳市| 隆回县| 湘潭市| 湘潭市| 安化县| 东乡县| 新昌县| 满城县| 奇台县| 永兴县| 宝山区| 陇南市| 民丰县| 双牌县| 榆树市| 措勤县| 微山县| 师宗县| 三明市| 色达县| 赤峰市| 铅山县| 昆明市| 三都| 永春县| 万山特区| 乐清市| 崇左市| 承德县| 呼和浩特市| 柳林县| 伊吾县| 武山县|