suffix array and radix sort algorithms