Chương trình có sử dụng các thư viện và phần mềm:
• GTK+ (http://www.gtk.org/, GNU LGPL 2.1)
• GraphViz (http://www.graphviz.org/, Common Public License)
Mã nguồn chương trình sẽ được tải lên Google Code (http://code.google.com/p/cs-suffix-tree/) dưới giấy phép GNU GPL v3.
Phụ lục A. Tài liệu tham khảo
[1] Dan Gusfield, Algorithms on Strings, Trees and Sequences, 1997
[2] Thầy Nguyễn Đức Nghĩa, Slide môn học Thiết kế và phân tích thuật toán, học kì 1 năm học 2010-2011
[3] Wikipedia contributors, "Longest common substring problem", Wikipedia, The Free
Encyclopedia, http://en.wikipedia.org/w/index.php?
title=Longest_common_substring_problem&oldid=398399925 (accessed November 30, 2010). [4] Wikipedia contributors, "Generalised suffix tree", Wikipedia, The Free Encyclopedia,
http://en.wikipedia.org/w/index.php?title=Generalised_suffix_tree&oldid=397462588 (accessed November 30, 2010).
[5] Wikipedia contributors, "Suffix tree", Wikipedia, The Free Encyclopedia,
http://en.wikipedia.org/w/index.php?title=Suffix_tree&oldid=396896972 (accessed November 30, 2010).
[6] Wikipedia contributors, "Substring", Wikipedia, The Free Encyclopedia,
http://en.wikipedia.org/w/index.php?title=Substring&oldid=385496932 (accessed November 30, 2010).
[7] L. Hui. Color set size problem with applications to string matching, Proc. 3rd Symp. on Combinatorial Pattern matching, Springer LNCS 644, 1992.
Phụ lục B. Danh mục hình
Hình 1: Cây hậu tố của chuỗi xabxac...5
Hình 2: Cây bên trái là một phần của cây hậu tố cho chuỗi S=abcdefabcuvw với nhãn của cạnh được viết tường minh. Cây bên phải biểu diễn nhãn sử dụng hai chỉ số. Lưu ý rằng cạnh có nhãn 2,3 cũng có thể được gán nhãn 8,9...5
Hình 3: Cây hậu tố cho chuỗi xabxa$...6
Hình 4: Cây hậu tố ngầm định cho xâu xabxa...7
Hình 5: Cây hậu tố ngầm định cho xâu axabx trước khi kí tự thứ 6, b, được thêm...8
Hình 6: Cây hậu tố ngầm định sau khi thêm kí tự b...8
Hình 7: Bước mở rộng j>1 trong pha i. Đi lên tối đa là một cạnh từ cuối đường đi S[j-1..i] đến nút v sau đó theo liên kết hậu tố đến s(v), đi xuống theo đường đi có nhãn γ rồi áp dụng luật bổ sung phù hợp để thêm hậu tố S[j..i+1]...10
Hình 8: Với mỗi nút v trên đường đi xα, có một nút s(v) trên đường đi α. Tuy nhiên, độ sâu nút của v có thể lớn hơn, bằng hoặc nhỏ hơn độ sâu nút của s(v) một đơn vị. Ví dụ, nút có nhãn xab có độ sâu hai, nút có nhãn ab có độ sâu một; nút có nhãn xabcdefg có độ sâu bốn, nút có nhãn abcdefg có độ sâu năm...11
Hình 9: Hình ảnh quá trình thực hiện của thuật toán. Mỗi dòng là một giai đoạn trong thuật toán, mỗi số là một bước mở rộng tường minh được thực hiện...13
Hình 10: Cây hậu tố cùng với các liên kết hậu tố cho hai chuỗi xabxa và abxbx...14
Hình 11: Cây hậu tố tổng quát cho hai xâu xabxa và abxbx cùng với các liên kết hậu tố trong bộ nhớ (các chỉ số bắt đầu từ 0)...15
Hình 12: Đồ thị thời gian dựng cây hậu tố phụ thuộc vào kích thước xâu. Kích thước tính theo đơn vị 4Kb, thời gian tính theo giây...18
Hình 13: Thời gian dải bài toán k-xâu con chung theo độ dài xâu. Các xâu được sinh ngẫu nhiên có độ dài bằng nhau (tính theo Kb)...19
Hình 14: Cấu hình Linker: thêm cờ mms-bitfields...23
Hình 15: Cấu hình assembler: thêm cờ mms-bitfields...24
Hình 16: Cấu hình compiler: thêm cờ mms-bitfields...25
Hình 17: Thêm đường dẫn đến các tệp header...26
Phụ lục C. Danh mục thuật ngữ
cây hậu tố...4
cây hậu tố ngầm định...6
cây hậu tố tổng quát...14
dãy con...16 liên kết hậu tố...9 luật mở rộng...7 nhãn...4 nhãn đường đi...4 xâu con...16
xâu con chung...16
độ sâu chuỗi...4