1. A suffix array is an array containing all suffixes of a string sorted in lexicographic order. It allows for efficient string searches, including prefix searches, substring searches, and near neighbor searches.
2. The suffix array can be used to find the starting positions of all occurrences of a pattern or substring within the text in time linear to the pattern length. It supports finding the longest common prefix between two strings in constant time.
3. Suffix arrays are useful for text indexing and string searching, including applications like full text search, bioinformatics, data compression, string mining, and more. They allow locating patterns in strings and calculating similarities between strings.
6. Suf?x( )
0: mississippi
1: ississippi
2: ssissippi
3: sissippi
mississippi
4: issippi
5: ssippi
6: sippi
7: ippi
8: ppi
9: pi
10: i
6
7. Suf?x Array
0: mississippi 10: i
1: ississippi 7: ippi
2: ssissippi 4: issippi
3: sissippi 1: ississippi
4: issippi 0: mississippi
5: ssippi 9: pi
6: sippi 8: ppi
7: ippi 6: sippi
8: ppi 3: sissippi
9: pi 5: ssippi
10: i 2: ssissippi
7
8. 10: i
7: ippi ? mississippi si
4: issippi
1: ississippi ? si
0: mississippi
9: pi ?
8: ppi
6:
3:
sippi
sissippi
?
5: ssippi
2: ssissippi ? 3 6
8
9. 10: i SA[i]:
7: ippi
4: issippi 10 7 4 1 0 9 8 6 3 5 2
1: ississippi T[i]:
0: mississippi
9: pi m i s s i s s i p p i
8: ppi
6: sippi
3: sissippi 6
5: ssippi T[SA[6]]
2: ssissippi T[8]
ppi
9