Tri nd Suffix Tr Ing Li Gørtz
String indxing prom String mtcing prom. Givn tring T (txt) nd P (pttrn) ovr n pt Σ, rport trting poition of occurrnc of P in T. Finit utomton: O(mΣ + n) tim nd pc KMP: O(m+n) tim nd pc String indxing prom. Givn tring S of crctr from n pt Σ. Prproc S into dt tructur to upport Src(P): Rturn trting poition of occurrnc of P in S. Tod: Dt tructur uing O(n) pc nd upporting Src(P) in O(m) tim. Appiction: Src ngin,.g. prfix rc. Finding common utring of mn ioogic tring Finding rpting utructur in ioogic tring Dtcting DNA contmintion
Outin Tri Comprd tri Suffix tr Appiction of uffix tr
Tri
Tri Txt rtriv t S 2 S 4 S 6 S 3 S 1 S 5 Tri ovr t tring:,, t,,, t.
Tri Txt rtriv Prfix-fr? t S 2 S 4 S 6 S 3 S 1 S 5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Prfix-fr? t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for t S 2 S 4 S 7 S 6 S 3 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for ort t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for ort t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for ort t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for ort t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Txt rtriv Src for ort t S 2 S 4 S 6 S 3 S 7 S 1 S5 Tri ovr t tring:,, t,,, t,.
Tri Buid tri ovr t tring:,,. S 2 S 4 S 1
Tri Proprti of t tri. A tri T toring coction S of tring of tot ngt n from n pt of iz d t foowing proprti: How mn cidrn cn nod v? How mn v do T v? Wt i t igt of T? Wt i t numr of nod in T?
Tri Src tim: O(d) in c nod => O(dm). O(m) if d contnt. d not contnt: u dictionr Hing O(1) Bncd BST: O(og d) Tim nd pc for tri (for m/contnt d): O(m) for rcing for tring of ngt m. O(n) pc. Prprocing: O(n)
Tri Prfix rc: rturn word in t tri trting wit t S 2 S 4 S 6 S 3 S 7 S 1 S5
Tri Prfix rc: rturn word in t tri trting wit t S 2 S 4 S 6 S 3 S 7 S 1 S5
Tri Prfix rc: rturn word in t tri trting wit t S 2 S 4 S 6 S 3 S 7 S 1 S5
Tri Tim for prfix rc: O(m) + tim to rport occurrnc. Coud rg!! Soution: compct tri.
Compct tri
Tri Compct tri: Cin of nod wit ing cid i mrgd into ing nod. t S 2 S 4 S 6 S 3 S 7 S 1 S5
Tri Compct tri: Cin of nod wit ing cid i mrgd into ing nod. t t S 2 S6 S3 S4 S1 S5 S7
Tri Proprti of t compct tri. A compct tri T toring coction S of tring of tot ngt n from n pt of iz d t foowing proprti: Evr intrn nod of T t t 2 nd t mot d cidrn. T v T numr of nod in T i < 2. Tim nd pc for compct tri (contnt d): O(m) for rcing for tring of ngt m. O(m + occ) for prfix rc, wr occ = #occurrnc O() pc. Prprocing: O(n)
Suffix tr
Suffix tr String indxing prom. Givn tring S of crctr from n pt Σ. Prproc S into dt tructur to upport Src(P): Rturn trting poition of occurrnc of P in S. Buid comprd tri ovr uffix of S (uffix tr). L v wit indx of uffix. Orvtion: An occurrnc of P i prfix of uffix of S. occurrnc of P Suffix of S
Suffix tr String indxing prom. Givn tring S of crctr from n pt Σ. Prproc S into dt tructur to upport Src(P): Rturn trting poition of occurrnc of P in S. Buid comprd tri ovr uffix of S (uffix tr). L v wit indx of uffix. Orvtion: An occurrnc of P i prfix of uffix of S. occurrnc of P Suffix of S Exmp: P = n. n n t r i n g d Suffix of S Suffix of S
Suffix Tr Suffix tr: ovr t tring nn n n 6 n n 1 n n 3 5 7 2 4
Suffix Tr Suffix tr: ovr t tring nn n n 6 n n 1 n n 3 5 7 2 4 Src for P. Rport of v ow fin nod
Suffix Tr Suffix tr: ovr t tring nn Find occurrnc of P= n n n 6 n n 1 n n 3 5 7 2 4 Src for P. Rport of v ow fin nod
Suffix Tr Suffix tr: ovr t tring nn n n 6 n n 1 n n 3 5 7 2 4 Stor S nd tor nod rfrnc to S. 1 2 3 4 5 6 7 n n
Suffix Tr Suffix tr: ovr t tring nn [2,2] [3,4] [7,7] [1,7] [3,4] [7,7] 7 6 [5,7] [7,7] [5,7] [7,7] 1 3 5 2 4 Stor S nd tor nod rfrnc to S. 1 2 3 4 5 6 7 n n
Suffix tr nd common utring 18 9 2 1 15 12 14 11 13 10 17 8 4 2 2 2 2 2 2 2 1 1 16 7 3 6 2 1 1 2 1 1 5 1 1 1
Suffix tr Suffix tr of tring S: Compct tri ovr uffix of S. Spc nd tim: Spc: O(n) Src tim: O(m) + tim to rport occurrnc = O(m+occ) Prprocing: Cn don in O(ort(n, Σ )) tim, wr ort(n, Σ ) i t tim it tk to ort n crctr from n pt Σ. Suffix tr cn ud to ov t String indxing prom in: Spc: O(n) Src tim: O(m+occ) Prprocing: O(ort(n, Σ )) tim
Appiction of uffix tr
Longt common utring Find ongt common utring of tring S1 nd S2. Contruct t uffix tr ovr S11S22. Exmp: Find ongt common utring of pipi nd pipi: Contruct uffix tr of pipi1pipi2.
Gnrizd uffix tr Suffix tr of pipi1pipi2. 2 2... 1 i p i 18 9 2 p i 2 2 p i 2 2 p i 2 2 1. p i 1... 2 2 15 12 2. 2 1 p i 1. 2 14 11. 2 1 p i 1... 2 13 10. 2 1 17 8 4 p i 1... 2 16 7 3 6 2 5 1
Gnrizd uffix tr Suffix tr of pipi1pipi2. Mrk f wit if 1 uffix trt in S1. 18 9 2 1 15 12 14 11 13 10 17 8 4 2 2 2 2 2 2 2 1 1 16 7 3 6 2 1 1 2 1 1 5 1 1 1
Gnrizd uffix tr Suffix tr of pipi1pipi2. Mrk f wit if 1 uffix trt in S1. 18 9 2 1 15 12 14 11 13 10 17 8 4 2 2 2 2 2 2 2 1 1 16 7 3 6 2 1 1 2 1 1 5 1 1 1
Gnrizd uffix tr Suffix tr of pipi1pipi2. Mrk f wit if 1 uffix trt in S1. Add tring-dpt. [18,18] [9,18] [15,15] [14,15] [13,15] [17,17] 1 18 10 9 1 2 3 2 1 [16,18] [17,17] [13,18] [16,18] [8,8] [13,18] [16,18] [8,8] [13,18] [18,18] [5,18] [9,18] 4 15 7 12 2 5 14 8 11 3 6 13 9 10 4 1 17 11 8 15 4 2 2 2 2 2 2 2 1 1 [18,18] [9,18] [5,18] [9,18] [5,18] [9,18] [5,18] 3 16 12 7 16 3 13 6 17 2 2 1 1 1 1 14 5 18 1 1 1
Gnrizd uffix tr Suffix tr of pipi1pipi2. Mrk f wit if 1 uffix trt in S1. Add tring-dpt. [18,18] [9,18] [15,15] [14,15] [13,15] [17,17] 1 18 11 9 1 2 3 2 1 [16,18] [17,17] [13,18] [16,18] [8,8] [13,18] [16,18] [8,8] [13,18] [18,18] [5,18] [9,18] 4 15 7 12 2 5 14 8 11 3 6 13 9 10 4 1 17 11 8 15 4 2 2 2 2 2 2 2 1 1 [18,18] [9,18] [5,18] [9,18] [5,18] [9,18] [5,18] 3 16 12 7 16 3 13 6 17 2 2 1 1 1 1 14 5 18 1 1 1 S[13,15] = pi i t ongt common utring.
Longt common utring Uing uffix tr w cn ov t ongt common utring prom in inr tim (for contnt iz pt).