如字串:ABCDEF
没排序的后缀:
1 ADCEFD
2 DCEFD
3 CEFD
4 EFD
5 FD
6 D
排序后的后缀存SA
1 ADCEFD
2 CEFD
3 D
4 DCEFD
5 EFD
6 FD
名次数组为Rank:
Rank数组的下标对应原字串的下标(各后缀的首字母,原字串第几后缀串)
其保存的内容对应当前下标开头后缀字串在SA数组的下标(SA中排第几)
A D C E F D
1 2 3 4 5 6 //各后缀首字母在原字串中的位置
SA[5] = 4 //SA[5]中保存的是EFD,这个后缀首字母是E,
//E在原字串A D C E F D中的位置是4
Rank[4] = 5 //SA数组中,后缀串首字为4即在原字串A D C E F D中的
//位置是4的字母E的后缀串E F D在SA数组中保存的位置为5,
//很明显SA[5] = E F D
后缀数组SA的排序: