Linear Suffix Arrays

Suffix array construction. More than one of these is true; select every true statement.

A

The LCP array needs a sparse table over the suffix array, so building it is Θ(nlog⁡n)\Theta(n \log n).

B

Kasai computes the LCP array in O(n)O(n), using height[rk[i]]≥height[rk[i−1]]−1height[rk[i]] \ge height[rk[i-1]] - 1.

C

SA-IS and DC3 both build the suffix array in O(n)O(n).

D

Doubling with a general comparison sort is O(nlog⁡2n)O(n \log^2 n).

E

Replacing the comparison sort with a radix sort on the two rank keys makes doubling O(nlog⁡n)O(n \log n).

F

Every suffix array construction is Ω(nlog⁡n)\Omega(n \log n), by the comparison sorting lower bound.