Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
SIAM Journal on Computing
Optimal and sublogarithmic time randomized parallel sorting algorithms
SIAM Journal on Computing
A bridging model for parallel computation
Communications of the ACM
Optimal merging and sorting on the EREW PRAM
Information Processing Letters
New indices for text: PAT Trees and PAT arrays
Information retrieval
An introduction to parallel algorithms
An introduction to parallel algorithms
Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
Deterministic distribution sort in shared and distributed memory multiprocessors
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Greed sort: optimal deterministic sorting on parallel disks
Journal of the ACM (JACM)
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
Communication-Efficient Parallel Sorting
SIAM Journal on Computing
On the sorting-complexity of suffix tree construction
Journal of the ACM (JACM)
Parallel Computing
Nearest common ancestors: a survey and a new distributed algorithm
Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures
The Enhanced Suffix Array and Its Applications to Genome Analysis
WABI '02 Proceedings of the Second International Workshop on Algorithms in Bioinformatics
Optimal Logarithmic Time Randomized Suffix Tree Construction
ICALP '96 Proceedings of the 23rd International Colloquium on Automata, Languages and Programming
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
Optimal Exact Strring Matching Based on Suffix Arrays
SPIRE 2002 Proceedings of the 9th International Symposium on String Processing and Information Retrieval
Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its Applications
CPM '01 Proceedings of the 12th Annual Symposium on Combinatorial Pattern Matching
Asynchronous parallel disk sorting
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
Optimal suffix tree construction with large alphabets
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
Overcoming the Memory Bottleneck in Suffix Tree Construction
FOCS '98 Proceedings of the 39th Annual Symposium on Foundations of Computer Science
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Waste makes haste: tight bounds for loose parallel sorting
SFCS '92 Proceedings of the 33rd Annual Symposium on Foundations of Computer Science
Linear pattern matching algorithms
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
Fast lightweight suffix array construction and checking
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Linear-time construction of suffix arrays
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Space efficient linear time construction of suffix arrays
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Replacing suffix trees with enhanced suffix arrays
Journal of Discrete Algorithms - SPIRE 2002
Journal of Automata, Languages and Combinatorics - Special issue: Selected papers of the 13th Australasian workshop on combinatorial algorithms
An O(N^2) Algorithm for Discovering Optimal Boolean Pattern Pairs
IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB)
Antisequential Suffix Sorting for BWT-Based Data Compression
IEEE Transactions on Computers
Detecting higher-level similarity patterns in programs
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Efficient Algorithms and Software for Detection of Full-Length LTR Retrotransposons
CSB '05 Proceedings of the 2005 IEEE Computational Systems Bioinformatics Conference
Practical methods for constructing suffix trees
The VLDB Journal — The International Journal on Very Large Data Bases
Structuring labeled trees for optimal succinctness, and beyond
FOCS '05 Proceedings of the 46th Annual IEEE Symposium on Foundations of Computer Science
Cache-oblivious string dictionaries
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
Software—Practice & Experience
Construction of Aho Corasick automaton in linear time for integer alphabets
Information Processing Letters
A metric index for approximate string matching
Theoretical Computer Science
A note on the Burrows-Wheeler transformation
Theoretical Computer Science
ACM Computing Surveys (CSUR)
Linear work suffix array construction
Journal of the ACM (JACM)
Dynamic text and static pattern matching
ACM Transactions on Algorithms (TALG)
A taxonomy of suffix array construction algorithms
ACM Computing Surveys (CSUR)
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
An efficient, versatile approach to suffix sorting
Journal of Experimental Algorithmics (JEA)
Making deterministic signatures quickly
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Efficient Algorithms for the Inverse Sort Transform
IEEE Transactions on Computers
An extension of the Burrows–Wheeler Transform
Theoretical Computer Science
Real-time indexing over fixed finite alphabets
Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms
International Journal of Bioinformatics Research and Applications
Lossless filter for multiple repetitions with Hamming distance
Journal of Discrete Algorithms
A space efficient solution to the frequent string mining problem for many databases
Data Mining and Knowledge Discovery
A Simple and Compact Algorithm for the RMQ and Its Application to the Longest Common Repeat Problem
ICANNGA '07 Proceedings of the 8th international conference on Adaptive and Natural Computing Algorithms, Part I
Searching for Gapped Palindromes
CPM '08 Proceedings of the 19th annual symposium on Combinatorial Pattern Matching
A new method for indexing genomes using on-disk suffix trees
Proceedings of the 17th ACM conference on Information and knowledge management
Cell probe lower bounds for succinct data structures
SODA '09 Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms
A Simple Algorithm for Finding Exact Common Repeats
IEICE - Transactions on Information and Systems
Making deterministic signatures quickly
ACM Transactions on Algorithms (TALG)
XPath evaluation in linear time with polynomial combined complexity
Proceedings of the twenty-eighth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Linear Time Suffix Array Construction Using D-Critical Substrings
CPM '09 Proceedings of the 20th Annual Symposium on Combinatorial Pattern Matching
Permuted Longest-Common-Prefix Array
CPM '09 Proceedings of the 20th Annual Symposium on Combinatorial Pattern Matching
Transformation of Suffix Arrays into Suffix Trees on the MPI Environment
RSFDGrC '07 Proceedings of the 11th International Conference on Rough Sets, Fuzzy Sets, Data Mining and Granular Computing
A Compressed Enhanced Suffix Array Supporting Fast String Matching
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Practical Algorithms for the Longest Common Extension Problem
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Faster Algorithms for Computing Maximal Multirepeats in Multiple Sequences
Fundamenta Informaticae - Special Issue on Stringology
Linear-time construction of suffix arrays
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Compression of concatenated web pages using XBW
SOFSEM'08 Proceedings of the 34th conference on Current trends in theory and practice of computer science
Post BWT stages of the Burrows–Wheeler compression algorithm
Software—Practice & Experience
The property suffix tree with dynamic properties
CPM'10 Proceedings of the 21st annual conference on Combinatorial pattern matching
The longest common extension problem revisited and applications to approximate string searching
Journal of Discrete Algorithms
Algorithms and theory of computation handbook
Computing the inverse sort transform in linear time
ACM Transactions on Algorithms (TALG)
Sparse substring pattern set discovery using linear programming boosting
DS'10 Proceedings of the 13th international conference on Discovery science
XPath evaluation in linear time
Journal of the ACM (JACM)
Fast q-gram mining on SLP compressed strings
SPIRE'11 Proceedings of the 18th international conference on String processing and information retrieval
Human motion classification and management based on mocap data analysis
J-HGBU '11 Proceedings of the 2011 joint ACM workshop on Human gesture and behavior understanding
Scalable parallel suffix array construction
EuroPVM/MPI'06 Proceedings of the 13th European PVM/MPI User's Group conference on Recent advances in parallel virtual machine and message passing interface
Transcription factor binding sites prediction based on sequence similarity
FSKD'06 Proceedings of the Third international conference on Fuzzy Systems and Knowledge Discovery
External string sorting: faster and cache-oblivious
STACS'06 Proceedings of the 23rd Annual conference on Theoretical Aspects of Computer Science
Finding patterns with variable length gaps or don’t cares
COCOON'06 Proceedings of the 12th annual international conference on Computing and Combinatorics
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
Construction of aho corasick automaton in linear time for integer alphabets
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
Suffix trays and suffix trists: structures for faster text indexing
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part I
Time and space efficient search for small alphabets with suffix arrays
FSKD'05 Proceedings of the Second international conference on Fuzzy Systems and Knowledge Discovery - Volume Part I
A modification of the landau-vishkin algorithm computing longest common extensions via suffix arrays
BSB'05 Proceedings of the 2005 Brazilian conference on Advances in Bioinformatics and Computational Biology
Efficient algorithms for three variants of the LPF table
Journal of Discrete Algorithms
On the number of elements to reorder when updating a suffix array
Journal of Discrete Algorithms
Internally deterministic parallel algorithms can be fast
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
On demand string sorting over unbounded alphabets
Theoretical Computer Science
Towards real-time suffix tree construction
SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval
Linear time algorithm for the generalised longest common repeat problem
SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval
ISAAC'11 Proceedings of the 22nd international conference on Algorithms and Computation
An index structure for spaced seed search
ISAAC'11 Proceedings of the 22nd international conference on Algorithms and Computation
Self-Indexed Grammar-Based Compression
Fundamenta Informaticae
Faster Algorithms for Computing Maximal Multirepeats in Multiple Sequences
Fundamenta Informaticae - Special Issue on Stringology
SEA'12 Proceedings of the 11th international conference on Experimental Algorithms
A comparison of index-based lempel-Ziv LZ77 factorization algorithms
ACM Computing Surveys (CSUR)
Computing regularities in strings: A survey
European Journal of Combinatorics
Computing the Longest Previous Factor
European Journal of Combinatorics
On demand string sorting over unbounded alphabets
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Fast and practical algorithms for computing all the runs in a string
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Efficient computation of substring equivalence classes with suffix arrays
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
Approximate period detection and correction
SPIRE'12 Proceedings of the 19th international conference on String Processing and Information Retrieval
Of motifs and goals: mining trajectory data
Proceedings of the 20th International Conference on Advances in Geographic Information Systems
Computing the longest common prefix array based on the Burrows-Wheeler transform
Journal of Discrete Algorithms
Fast q-gram mining on SLP compressed strings
Journal of Discrete Algorithms
Parallel suffix array and least common prefix for the GPU
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
On compressing and indexing repetitive sequences
Theoretical Computer Science
Efficient seed computation revisited
Theoretical Computer Science
Suffix Array Construction in External Memory Using D-Critical Substrings
ACM Transactions on Information Systems (TOIS)
On the combinatorics of suffix arrays
Information Processing Letters
Extracting powers and periods in a word from its runs structure
Theoretical Computer Science
Hi-index | 0.02 |
A suffix array represents the suffixes of a string in sorted order. Being a simpler and more compact alternative to suffix trees, it is an important tool for full text indexing and other string processing tasks. We introduce the skew algorithm for suffix array construction over integer alphabets that can be implemented to run in linear time using integer sorting as its only nontrivial subroutine: 1. recursively sort suffixes beginning at positions i mod 3 ≠ 0. 2. sort the remaining suffixes using the information obtained in step one. 3. merge the two sorted sequences obtained in steps one and two. The algorithm is much simpler than previous linear time algorithms that are all based on the more complicated suffix tree data structure. Since sorting is a well studied problem, we obtain optimal algorithms for several other models of computation, e.g. external memory with parallel disks, cache oblivious, and parallel. The adaptations for BSP and EREW-PRAM are asymptotically faster than the best previously known algorithms.