强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁(yè) > 廠商 > 知識(shí) > 編輯距離,如何計(jì)算大量字符串間的編輯距離

編輯距離,如何計(jì)算大量字符串間的編輯距離

來(lái)源:整理 時(shí)間:2023-08-29 16:27:34 編輯:智能門(mén)戶(hù) 手機(jī)版

本文目錄一覽

1,如何計(jì)算大量字符串間的編輯距離

模擬構(gòu)造一個(gè)(m + 1)行,(n+1)列的表格每一次都是在前一次的計(jì)算結(jié)果下,得到當(dāng)前的值首先是三個(gè)特殊情況 用srcStr表示源字符串,dstStr 表示目標(biāo)字符串1) 兩個(gè)空字符串的編輯距離D(srcStr, dstStr) = 02) 如果srcStr為空,dstStr不為空,則D(srcStr, dstStr) = dstStr.length(), 即在原空字符串上添加字符,形成dstStr3) 如果dstStr為空,srcStr不為空,則D(srcStr, dstStr) = srcStr.length(), 及在源字符串上刪除其所有字符,直至為空

如何計(jì)算大量字符串間的編輯距離

2,字符串編輯距離問(wèn)題

定義字符串的基本操作為:刪除一個(gè)字符\插入一個(gè)字符和將一個(gè)字符修改成另外一個(gè)字符這三種操作。將字符串A變成字符串B的最少操作步數(shù),稱(chēng)為字符串A到字符串B的編輯距離。字符串“ABCDEFG”到字符串“BADECG”的編輯距離為_(kāi)____。正確答案: 3
你的第二步就錯(cuò)了。原來(lái)的字母B去哪了?ABCDEFG-原來(lái)BCDEFG-去掉ABDEFG-去掉CBADEFG-插入ABADECG-替換F為C我這種做法的編輯距離是4。也不是電腦編程問(wèn)題,還是訓(xùn)練思維。
編輯距離為3abcdefg 刪除a 得出 bcdefg (a→) bcdefg 將c替換成a 得出 badefg (c→a) badefg 將f替換成c 得出badecg (f→c)

字符串編輯距離問(wèn)題

3,編輯距離算法

編輯距離是3,樓主看一下這篇博文:http://www.cnblogs.com/biyeymyhjob/archive/2012/09/28/2707343.html也附有代碼,可以試運(yùn)行一下,動(dòng)態(tài)規(guī)劃求解
#include<stdio.h>#include<stdlib.h>#include<string.h>int_min(inta,intb,intc)intmin=a;if(b<min)min=b;if(c<min)min=c;returnmin;}intcomputedistance(chars[],chart[])intn=strlen(s);intm=strlen(t);//intd[][]=newint[n+1,m+1];//matrixint**d=(int**)malloc((n+1)*sizeof(int*));for(inti=0;i<=n;++i)d[i]=(int*)malloc((m+1)*sizeof(int));}//step1if(n==0)returnm;}if(m==0)returnn;}//step2for(inti=0;i<=n;i++)d[i][0]=i;}for(intj=0;j<=m;d[0][j]=j++)d[0][j]=j;}//step3for(inti=1;i<=n;i++)//step4for(intj=1;j<=m;j++)//step5intcost=(t[j-1]==s[i-1])?0:1;//step6d[i][j]=_min(d[i-1][j]+1,d[i][j-1]+1,d[i-1][j-1]+cost);}}//step7returnd[n][m];}intmain(intargc,char*argv[])chara[9999];charb[9999];printf("請(qǐng)輸入字符串1\n");scanf("%s",&a);printf("請(qǐng)輸入字符串2\n");scanf("%s",&b);intresult=computedistance(a,b);printf("%d\n",result);system("pause");return0;}////////////////////refrence:dynamicprogrammingalgorithm(dpa)foredit-distance編輯距離關(guān)于兩個(gè)字符串s1,s2的差別,可以通過(guò)計(jì)算他們的最小編輯距離來(lái)決定。所謂的編輯距離:讓s1和s2變成相同字符串需要下面操作的最小次數(shù)。1.把某個(gè)字符ch1變成ch22.刪除某個(gè)字符3.插入某個(gè)字符例如s1=“12433”和s2=”1233”;則可以通過(guò)在s2中間插入4得到12433與s1一致。即d(s1,s2)=1(進(jìn)行了一次插入操作)編輯距離的性質(zhì)計(jì)算兩個(gè)字符串s1+ch1,s2+ch2的編輯距離有這樣的性質(zhì):1.d(s1,””)=d(“”,s1)=|s1|d(“ch1”,”ch2”)=ch1==ch2?0:1;2.d(s1+ch1,s2+ch2)=min(d(s1,s2)+ch1==ch2?0:1,d(s1+ch1,s2),d(s1,s2+ch2));第一個(gè)性質(zhì)是顯然的。第二個(gè)性質(zhì):由于我們定義的三個(gè)操作來(lái)作為編輯距離的一種衡量方法。于是對(duì)ch1,ch2可能的操作只有1.把ch1變成ch22.s1+ch1后刪除ch1d=(1+d(s1,s2+ch2))3.s1+ch1后插入ch2d=(1+d(s1+ch1,s2))對(duì)于2和3的操作可以等價(jià)于:_2.s2+ch2后添加ch1d=(1+d(s1,s2+ch2))_3.s2+ch2后刪除ch2d=(1+d(s1+ch1,s2))因此可以得到計(jì)算編輯距離的性質(zhì)2。復(fù)雜度分析從上面性質(zhì)2可以看出計(jì)算過(guò)程呈現(xiàn)這樣的一種結(jié)構(gòu)(假設(shè)各個(gè)層用當(dāng)前計(jì)算的串長(zhǎng)度標(biāo)記,并假設(shè)兩個(gè)串長(zhǎng)度都為n)可以看到,該問(wèn)題的復(fù)雜度為指數(shù)級(jí)別3的n次方,對(duì)于較長(zhǎng)的串,時(shí)間上是無(wú)法讓人忍受的。分析:在上面的結(jié)構(gòu)中,我們發(fā)現(xiàn)多次出現(xiàn)了(n-1,n-1),(n-1,n-2)……。換句話(huà)說(shuō)該結(jié)構(gòu)具有重疊子問(wèn)題。再加上前面性質(zhì)2所具有的最優(yōu)子結(jié)構(gòu)。符合動(dòng)態(tài)規(guī)劃算法基本要素。因此可以使用動(dòng)態(tài)規(guī)劃算法把復(fù)雜度降低到多項(xiàng)式級(jí)別。動(dòng)態(tài)規(guī)劃求解首先為了避免重復(fù)計(jì)算子問(wèn)題,添加兩個(gè)輔助數(shù)組。一.保存子問(wèn)題結(jié)果。m[|s1|,|s2|],其中m[i,j]表示子串s1(0->i)與s2(0->j)的編輯距離二.保存字符之間的編輯距離.e[|s1|,|s2|],其中e[i,j]=s[i]=s[j]?0:1三.新的計(jì)算表達(dá)式根據(jù)性質(zhì)1得到m[0,0]=0;m[s1i,0]=|s1i|;m[0,s2j]=|s2j|;根據(jù)性質(zhì)2得到m[i,j]=min(m[i-1,j-1]+e[i,j],m[i,j-1],m[i-1,j]);復(fù)雜度從新的計(jì)算式看出,計(jì)算過(guò)程為i=1->|s1|j=1->|s2|m[i][j]=……因此復(fù)雜度為o(|s1|*|s2|),如果假設(shè)他們的長(zhǎng)度都為n,則復(fù)雜度為o(n^2)

編輯距離算法

文章TAG:編輯編輯距離距離如何編輯距離

最近更新

  • 哈爾濱機(jī)器人能手哈爾濱機(jī)器人能手

    哈爾濱能力風(fēng)暴機(jī)器人學(xué)校怎么樣?這個(gè)學(xué)校很好。2.沈陽(yáng)宋新機(jī)器人自動(dòng)化股份有限公司沈陽(yáng)宋新機(jī)器人自動(dòng)化股份有限公司是著名的機(jī)器人品牌,主要生產(chǎn)工業(yè)臂,6.哈爾濱博世自動(dòng)化股份有限公.....

    知識(shí) 日期:2023-08-29

  • 自動(dòng)駕駛汽車(chē)信息化,無(wú)人化-1汽車(chē)最終目標(biāo)是智能化和網(wǎng)絡(luò)化自動(dòng)駕駛汽車(chē)信息化,無(wú)人化-1汽車(chē)最終目標(biāo)是智能化和網(wǎng)絡(luò)化

    它的初級(jí)階段是高級(jí)駕駛ADAS,最終目標(biāo)是無(wú)人化-1汽車(chē),智能化,nobody駕駛汽車(chē)是汽車(chē)智能化和網(wǎng)絡(luò)化的最終發(fā)展目標(biāo),因此需要更先進(jìn)的環(huán)境意識(shí)、中央決策系統(tǒng)和底層控制系統(tǒng),無(wú)人駕駛駕駛汽.....

    知識(shí) 日期:2023-08-29

  • 2941,GBT294191 是什么國(guó)家標(biāo)準(zhǔn)2941,GBT294191 是什么國(guó)家標(biāo)準(zhǔn)

    GBT294191是什么國(guó)家標(biāo)準(zhǔn)2,2941秒等于幾小時(shí)3,2941這個(gè)數(shù)至少要加上或減去才含有因數(shù)34,請(qǐng)問(wèn)股票2941是什么股票5,2941是多少小時(shí)6,LM2941做6V輸出時(shí)的ONOFF引腳接什么1,GBT294191是什么國(guó)家.....

    知識(shí) 日期:2023-08-29

  • 組合邏輯電路設(shè)計(jì),用3線(xiàn)8線(xiàn)譯碼器和門(mén)電路設(shè)計(jì)組合邏輯電路使YBCAB組合邏輯電路設(shè)計(jì),用3線(xiàn)8線(xiàn)譯碼器和門(mén)電路設(shè)計(jì)組合邏輯電路使YBCAB

    用3線(xiàn)8線(xiàn)譯碼器和門(mén)電路設(shè)計(jì)組合邏輯電路使YBCAB2,用74HC151設(shè)計(jì)一個(gè)有三個(gè)輸入邏輯變量和一個(gè)工作狀態(tài)控制量的邏輯3,設(shè)計(jì)一個(gè)組合邏輯電路該電路輸入端接收兩個(gè)2位二進(jìn)制數(shù)AA2A14,在進(jìn).....

    知識(shí) 日期:2023-08-29

  • 視頻處理,有什么軟件是處理視頻的視頻處理,有什么軟件是處理視頻的

    有什么軟件是處理視頻的2,視頻處理軟件有哪些3,制作視頻的app有哪些4,求一款處理視頻的軟件5,誰(shuí)有好的視頻處理軟件6,如何做作簡(jiǎn)單的視頻1,有什么軟件是處理視頻的視頻處理軟件入門(mén)級(jí):繪聲繪.....

    知識(shí) 日期:2023-08-29

  • 城域網(wǎng),什么是城域網(wǎng)城域網(wǎng),什么是城域網(wǎng)

    什么是城域網(wǎng)2,什么是城域網(wǎng)CIMSSCM3,什么是局域網(wǎng)廣域網(wǎng)城域網(wǎng)國(guó)際互連網(wǎng)4,什么是城域網(wǎng)5,什么是局域網(wǎng)廣域網(wǎng)城域網(wǎng)6,什么是城域網(wǎng)1,什么是城域網(wǎng)去ISP那里交了錢(qián)就能用了具體設(shè)置各地不同.....

    知識(shí) 日期:2023-08-29

  • 振動(dòng)傳感器,振動(dòng)傳感器的原理有哪些振動(dòng)傳感器,振動(dòng)傳感器的原理有哪些

    振動(dòng)傳感器的原理有哪些2,振動(dòng)傳感器的原理和應(yīng)用范圍是3,振動(dòng)傳感器的原理是什么主要應(yīng)用場(chǎng)合有哪些4,震動(dòng)傳感器工作原理如何5,什么是震動(dòng)傳感器6,振動(dòng)傳感器種類(lèi)有哪些選擇的依據(jù)是什么1.....

    知識(shí) 日期:2023-08-29

  • 電梯五方通話(huà)系統(tǒng),電梯五方對(duì)講電梯五方通話(huà)系統(tǒng),電梯五方對(duì)講

    電梯五方對(duì)講2,電梯五方通話(huà)指什么啊3,電梯五方對(duì)講是什么電梯五方對(duì)講是什么知識(shí)4,電梯五方通話(huà)是哪五方5,電梯五方對(duì)講的作用是什么6,電梯五方對(duì)講是哪五方7,電梯五方通話(huà)系統(tǒng)的介紹8,電梯.....

    知識(shí) 日期:2023-08-29