aboutsummaryrefslogtreecommitdiff
path: root/ass2/q2/suffix_array.py
diff options
context:
space:
mode:
authorakiyamn2021-04-30 11:49:04 +1000
committerakiyamn2021-04-30 11:49:04 +1000
commit8159731e3a51027c44486caaa4458d9214753d43 (patch)
treeece3f2119b0691ab4a6824e6de961547de8bf661 /ass2/q2/suffix_array.py
parent3ec37656910e3c71569408bd9be2dfa8db06efc2 (diff)
downloadfit3155-8159731e3a51027c44486caaa4458d9214753d43.tar.gz
fit3155-8159731e3a51027c44486caaa4458d9214753d43.zip
Ass 2: Almost done
Diffstat (limited to 'ass2/q2/suffix_array.py')
-rw-r--r--ass2/q2/suffix_array.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/ass2/q2/suffix_array.py b/ass2/q2/suffix_array.py
index e743180..edfaa80 100644
--- a/ass2/q2/suffix_array.py
+++ b/ass2/q2/suffix_array.py
@@ -15,18 +15,24 @@ def read_in_string(filename):
return file.read()
-def write_suffix_array(tree, filename):
+def suffix_array(string):
+ tree = ukkonen(string)
+ buffer = []
+ depth_first_apply(tree, buffer.append)
+ return buffer
+
+
+def write_suffix_array(string, filename):
with open(filename, "w") as file:
- buffer = []
- depth_first_apply(tree, buffer.append)
+ buffer = suffix_array(string)
file.write("\n".join(map(str, buffer)))
def main():
assert len(sys.argv) == 2
string = read_in_string(sys.argv[1])
- tree = ukkonen(string)
- write_suffix_array(tree, "output_suffix_array.txt")
+ write_suffix_array(string, "output_suffix_array.txt")
-main()
+if __name__ == "__main__":
+ main()