File tree 13 files changed +49
-0
lines changed
5-string-processing-and-pattern-matching-algorithms/2-burrows-wheeler-suffix-arrays
13 files changed +49
-0
lines changed Original file line number Diff line number Diff line change
1
+ # python3
2
+ import sys
3
+
4
+ class Burrows_Wheeler :
5
+
6
+ def __init__ (self , text ):
7
+ self .BWT_Text = ""
8
+ self .transofrm (text )
9
+
10
+ def cycle_rotations (self , text ):
11
+
12
+ self .M = []
13
+ self .M .append (text )
14
+ text_len = len (text )
15
+
16
+ for _ in range (text_len - 1 ):
17
+
18
+ m_len = len (self .M )
19
+ self .M .append (self .M [m_len - 1 ][- 1 ] + self .M [m_len - 1 ][0 : text_len - 1 ])
20
+
21
+ def transofrm (self , text ):
22
+
23
+ self .cycle_rotations (text )
24
+
25
+ self .M .sort ()
26
+
27
+ self .BWT_Text = '' .join ([self .M [i ][- 1 ] for i in range (len (self .M ))])
28
+
29
+ def BWT (text ):
30
+ return ""
31
+
32
+ if __name__ == '__main__' :
33
+ text = sys .stdin .readline ().strip ()
34
+
35
+ bwt = Burrows_Wheeler (text )
36
+
37
+ print (bwt .BWT_Text )
Original file line number Diff line number Diff line change
1
+ AA$
Original file line number Diff line number Diff line change
1
+ AA$
Original file line number Diff line number Diff line change
1
+ AA$
Original file line number Diff line number Diff line change
1
+ ACACACAC$
Original file line number Diff line number Diff line change
1
+ CCCC$AAAA
Original file line number Diff line number Diff line change
1
+ CCCC$AAAA
Original file line number Diff line number Diff line change
1
+ AGACATA$
Original file line number Diff line number Diff line change
1
+ ATG$CAAA
Original file line number Diff line number Diff line change
1
+ ATG$CAAA
Original file line number Diff line number Diff line change
1
+ panamabananas$
Original file line number Diff line number Diff line change
1
+ smnpbnnaaaaa$a
Original file line number Diff line number Diff line change
1
+ smnpbnnaaaaa$a
You can’t perform that action at this time.
0 commit comments