def _compute_suftab(self, string):
        """Computes the suffix array of a string in O(n).

        The code is based on that from the pysuffix library (https://code.google.com/p/pysuffix/).

        Kärkkäinen & Sanders (2003).
        """
        n = len(string)
        string += (unichr(1) * 3)
        suftab = np.zeros(n, dtype=np.int)
        alpha = sorted(set(string))
        self._kark_sort(string, suftab, n, alpha)
        return suftab
Computes the suffix array of a string in O(n).

        The code is based on that from the pysuffix library (https://code.google.com/p/pysuffix/).

        Kärkkäinen & Sanders (2003).