1. 程式人生 > >後綴數組(SA)學習筆記

後綴數組(SA)學習筆記

類比 淺談 後綴數組 多少 排序 -- += 數組 後綴

淺談後綴數組

後綴數組是個啥?

  • 前置芝士:基數排序

  • 後綴數組的基本模板(luoguP3809)

基數排序:

num[i]:原有數組
c[i]:桶
p[i]:排序過後的東西,代表第i位的是多少
n:num數量
m:num的種類(範圍)
for(int i=1;i<=n;++i)c[num[i]]++;
for(int i=1;i<=m;++i)c[i]+=c[i-1];
for(int i=1;i<=n;++i)p[c[num[i]]--]=i;

這種排序是O(n)的,適用於數據種類比較小的情況下,例如只包含小寫字母的字符串。


占坑,未完待續

後綴數組(SA)學習筆記