This preview shows pages 1–12. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: γ xy if character x is matched to character y xy x y Opt[ j, k] = Let a j = x and b k = y Express as minimization Dynamic Programming Computation Code to compute Opt[j,k] Storing the path information A[1. .m], B[1. .n] for i := 1 to m Opt[i, 0] := 0; for j := 1 to n Opt[0,j] := 0; Opt[0,0] := 0; for i := 1 to m for j := 1 to n if A[i] = B[j] { Opt[i,j] := 1 + Opt[i1,j1]; Best[i,j] := Diag; } else if Opt[i1, j] >= Opt[i, j1] { Opt[i, j] := Opt[i1, j], Best[i,j] := Left; } else { Opt[i, j] := Opt[i, j1], Best[i,j] := Down; } a 1 …a m b 1 …b n How good is this algorithm? • Is it feasible to compute the LCS of two strings of length 100,000 on a standard desktop PC? Why or why not. Observations about the Algorithm • The computation can be done in O(m+n) space if we only need one column of the Opt values or Best Values • The algorithm can be run from either end of the strings...
View
Full
Document
This note was uploaded on 02/25/2012 for the course CSE 421 taught by Professor Richardanderson during the Fall '06 term at University of Washington.
 Fall '06
 RichardAnderson
 Algorithms

Click to edit the document details