




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
信息工程大學算法設計與分析動態規劃—編輯距離問題國家級實驗教學示范中心計算機學科組規劃教材算法設計與分析Python案例詳解微課視頻版
設A和B是兩個字符串,要用最少的字符操作將A轉換為B。字符操作有三種:(1)刪除一個字符;(2)插入一個字符;(3)將一個字符改為另一個字符。
將字符串A轉換為字符串B所用的最少字符操作數稱為字符串A到B的編輯距離。字符串Abanana操作修改修改刪除字符串BpandaA轉換為B的編輯距離為3編輯距離反映兩個字符串的相似程度。最長公共子序列反映兩個字符串的相似程度。關注差異性bana
napanda編輯距離是3關注公共部分ba
nanapa
nda最長公共子序列是3字符串Abanana字符串Bpanda1.首先對比最后一個字符,都是a,相等;問題轉換為banan和pand的編輯距離問題;2.比較最后一個字符,n和d不等,取min{刪除n+bana和pand的編輯距離,插入d+banan和pan的編輯距離,修改n為d+bana和pan的編輯距離}3.…1.找出最優解性質,刻畫結構特征
δ(A,B)表示字符串A和B的編輯距離。定義D[i,j]=δ(A[1..i],B[1..j])。D[i,j]=min{D[i-1,j-1]+δ(A[i],B[j]),D[i-1,j]+1,D[i,j-1]+1};D[i,0]=i,i=0~m;D[0,j]=j,j=0~n;2.遞歸地定義最優值3.以自底向上的方式計算最優值00000000000BjAmB1B2BnA1A2Ai012nm1204.根據計算最優值時得到的信息,構造最優解定義C[i,j]:D[i,j]獲得最優值時對應的字符操作。C[i,j]=0:表示A[i]和B[j]相等C[i,j]=1:表示把A[i]修改為B[j]C[i,j]=2:表示刪除A[i]C[i,j]=3:表示插入B[j]實例分析:A=“banana”,B=“panda”
j=0j=1pj=2aj=3nj=4dj=5ai=0012345i=1b112345i=2a221234i=3n332123i=4a443222i=5n554333i=6a665443數組D[i,j]
j=0j=1pj=2aj=3nj=4dj=5ai=0033333i=1b21(修改)1111i=2a210(不變)330i=3n2120(不變)33i=4a2102(刪除)10i=5n21201(修改)1i=6a210210(不變)實例分析:A=”banana”,B=”panda”數組C[i,j]判斷題。編輯距離問題中,最優解可能有多個。A.正確B.錯誤/*動態規劃求解編輯距離,字符串A長度為m,字符串B長度為n*/voideditDistance(char*A,char*B,intm,intn){……/*初始化D和C數組*/for(i=0;i<=m;i++){D[i][0]=i;C[i][0]=2;}for(j=0;j<=n;j++){D[0][j]=j;C[0][j]=3;}
for(i=1;i<=m;i++)for(j=1;j<=n;j++)/*當字符相等時,不做任何操作*/
if(A[i]==B[j]){D[i][j]=D[i-1][j-1];C[i][j]=0;}else{t1=D[i-1][j-1]+1;t2=D[i-1][j]+1;t3=D[i][j-1]+1;if(t1<=t2&&t1<=t3){D[i][j]=t1;C[i][j]=1;}elseif(t2<=t1&&t2<=t3){D[i][j]=t2;C[i][j]=2;}
elseif(t3<=t1&&t3<=t2){D[i][j]=t3;C[i][j]=3;}}}時間復雜度:O(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版七年級數學上冊《1.1正數與負數》同步測試題及答案
- 2025年法學概論考試的備考經驗交流及試題及答案
- 年度培訓與發展方案計劃
- 山東省青島市廣雅中學2025年數學八下期末達標檢測試題含解析
- 實施教研活動常態化計劃
- 落實計劃的執行力提升
- 行政程序的合法性與透明性研究試題及答案
- 服務器維護最佳實踐試題及答案
- 財務合規管理的重要性計劃
- 2025屆湖北省黃州思源實驗學校八年級數學第二學期期末統考試題含解析
- 哈爾濱工業大學《信號與系統》2020-2021學年期末考試試卷
- 民用爆炸物品倉庫管理規定培訓課件
- 康復醫學科作業治療技術操作規范2023版
- 活動安保應急預案
- 人教版八年級物理下冊 實驗題02 壓力壓強實驗(含答案詳解)
- 馬克思主義基本原理智慧樹知到課后章節答案2023年下寧波大學
- 肝硬化病人的護理練習題
- 一文讀懂-特魯索綜合征病例、影像、診斷、治療
- CW6163B萬能臥式車床的控制線路圖解
- 貴州省情學習通超星課后章節答案期末考試題庫2023年
- 小學隨班就讀學生教育隨筆
評論
0/150
提交評論