diff options
| author | akiyamn | 2021-03-25 14:03:31 +1100 |
|---|---|---|
| committer | akiyamn | 2021-03-25 14:03:50 +1100 |
| commit | 20d2ef74154723613ee8801b5f89aa108ca569b0 (patch) | |
| tree | 77b593665bb15a9448deb4f289142ffb692eeede /ass1 | |
| parent | 9a607cb9b8670400bc77406ac056df058880976c (diff) | |
| download | fit3155-20d2ef74154723613ee8801b5f89aa108ca569b0.tar.gz fit3155-20d2ef74154723613ee8801b5f89aa108ca569b0.zip | |
why doesn't galil's work?'t galil'
Diffstat (limited to 'ass1')
| -rw-r--r-- | ass1/binary_boyermoore.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ass1/binary_boyermoore.py b/ass1/binary_boyermoore.py index a75b9b2..b42cff7 100644 --- a/ass1/binary_boyermoore.py +++ b/ass1/binary_boyermoore.py @@ -142,6 +142,8 @@ def boyer_moore(pat, txt): good_suffix_shift = m - matched_prefix[1] # print(start, stop) j += max(good_suffix_shift, bad_char_shift) + if good_suffix_shift >= bad_char_shift: + print("good suff", good_suffix_shift) if good_suffix[i+1] >= 0 and good_suffix_shift >= bad_char_shift: galil_index = j break @@ -151,4 +153,4 @@ def boyer_moore(pat, txt): for i, a in enumerate(R): print(chr(i+97), a) -boyer_moore("abcdxxxabcd", "zzzzzzabcdxxxaaabcdxxxabcdabcdxxxabcdabcdxxxabcdabcdxxxabcdbcdabcdxxxabcdabcdxxxabcdabcdxxxabcdxxxabcdabcdxxxabcdabcdxxxabcdabcdxxxabcdabcdxxxabcdbcdabcdxxxabcdzzzzabcdxxxabcdabcdxxxabcdzabcdxxxabcdzzzzzzzzzz")
\ No newline at end of file +boyer_moore("xoxxxo", "xooxxoxoxoxoxoxoxxxoxxoxxxoxxoooxxxoxxxoxxxox")
\ No newline at end of file |
