Stability | experimental |
---|---|
Maintainer | Daniël de Kok <me@danieldk.eu> Victor Denisov <denisovenator@gmail.com> |
Safe Haskell | Safe-Infered |
Construction of suffix arrays (arrays ordered by suffix). Given an array d elements, the suffix array is a sorted array of the sub-arrays in d. For instance, the suffix array of banana apple pear apple is:
- apple
- apple pear apple
- banana apple pear apple
- pear apple
- data SuffixArray a = SuffixArray (Vector a) (Vector Int)
- suffixArray :: (Ix a, Ord a, Bounded a) => Vector a -> SuffixArray a
- simpleEquator :: (Ix a, Ord a, Bounded a) => Vector a -> Vector Int -> Equator
- fancyEquator :: (Ix a, Ord a, Bounded a) => Vector a -> Vector Int -> Int -> Int -> Equator
- shiftList :: Int -> Int -> Vector Int -> Vector Int
- composeLists :: Vector Int -> Vector Int -> Vector Int
- populateClassesBy :: Equator -> Vector Int -> Vector Int
- fromList :: (Ix a, Ord a, Bounded a) => [a] -> SuffixArray a
- toList :: SuffixArray a -> [[a]]
- elems :: SuffixArray a -> Vector (Vector a)
Documentation
suffixArray :: (Ix a, Ord a, Bounded a) => Vector a -> SuffixArray aSource
Generate a suffix array as list.
composeLists :: Vector Int -> Vector Int -> Vector IntSource
- Build composition of two lists. First argument is source list. - Second argument is vector of indexes. Elements of first list should - be reordered accordingly to indexes in the second argument.
fromList :: (Ix a, Ord a, Bounded a) => [a] -> SuffixArray aSource
fromList
constructs a suffix array from a list of elements.
toList :: SuffixArray a -> [[a]]Source
toList
constructs a list from a suffix array.