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

首頁 > 廠商 > 知識 > 編輯距離,如何計算大量字符串間的編輯距離

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

來源:整理 時間:2023-08-29 16:27:34 編輯:智能門戶 手機版

本文目錄一覽

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

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

如何計算大量字符串間的編輯距離

2,字符串編輯距離問題

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

字符串編輯距離問題

3,編輯距離算法

編輯距離是3,樓主看一下這篇博文:http://www.cnblogs.com/biyeymyhjob/archive/2012/09/28/2707343.html也附有代碼,可以試運行一下,動態(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("請輸入字符串1\n");scanf("%s",&a);printf("請輸入字符串2\n");scanf("%s",&b);intresult=computedistance(a,b);printf("%d\n",result);system("pause");return0;}////////////////////refrence:dynamicprogrammingalgorithm(dpa)foredit-distance編輯距離關(guān)于兩個字符串s1,s2的差別,可以通過計算他們的最小編輯距離來決定。所謂的編輯距離:讓s1和s2變成相同字符串需要下面操作的最小次數(shù)。1.把某個字符ch1變成ch22.刪除某個字符3.插入某個字符例如s1=“12433”和s2=”1233”;則可以通過在s2中間插入4得到12433與s1一致。即d(s1,s2)=1(進行了一次插入操作)編輯距離的性質(zhì)計算兩個字符串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));第一個性質(zhì)是顯然的。第二個性質(zhì):由于我們定義的三個操作來作為編輯距離的一種衡量方法。于是對ch1,ch2可能的操作只有1.把ch1變成ch22.s1+ch1后刪除ch1d=(1+d(s1,s2+ch2))3.s1+ch1后插入ch2d=(1+d(s1+ch1,s2))對于2和3的操作可以等價于:_2.s2+ch2后添加ch1d=(1+d(s1,s2+ch2))_3.s2+ch2后刪除ch2d=(1+d(s1+ch1,s2))因此可以得到計算編輯距離的性質(zhì)2。復(fù)雜度分析從上面性質(zhì)2可以看出計算過程呈現(xiàn)這樣的一種結(jié)構(gòu)(假設(shè)各個層用當(dāng)前計算的串長度標(biāo)記,并假設(shè)兩個串長度都為n)可以看到,該問題的復(fù)雜度為指數(shù)級別3的n次方,對于較長的串,時間上是無法讓人忍受的。分析:在上面的結(jié)構(gòu)中,我們發(fā)現(xiàn)多次出現(xiàn)了(n-1,n-1),(n-1,n-2)……。換句話說該結(jié)構(gòu)具有重疊子問題。再加上前面性質(zhì)2所具有的最優(yōu)子結(jié)構(gòu)。符合動態(tài)規(guī)劃算法基本要素。因此可以使用動態(tài)規(guī)劃算法把復(fù)雜度降低到多項式級別。動態(tài)規(guī)劃求解首先為了避免重復(fù)計算子問題,添加兩個輔助數(shù)組。一.保存子問題結(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三.新的計算表達(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ù)雜度從新的計算式看出,計算過程為i=1->|s1|j=1->|s2|m[i][j]=……因此復(fù)雜度為o(|s1|*|s2|),如果假設(shè)他們的長度都為n,則復(fù)雜度為o(n^2)

編輯距離算法

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

最近更新

  • 哈爾濱機器人能手哈爾濱機器人能手

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

    知識 日期:2023-08-29

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

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

    知識 日期:2023-08-29

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

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

    知識 日期:2023-08-29

  • 組合邏輯電路設(shè)計,用3線8線譯碼器和門電路設(shè)計組合邏輯電路使YBCAB組合邏輯電路設(shè)計,用3線8線譯碼器和門電路設(shè)計組合邏輯電路使YBCAB

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

    知識 日期:2023-08-29

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

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

    知識 日期:2023-08-29

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

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

    知識 日期:2023-08-29

  • 振動傳感器,振動傳感器的原理有哪些振動傳感器,振動傳感器的原理有哪些

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

    知識 日期:2023-08-29

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

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

    知識 日期:2023-08-29