From Algorithms on Strings

Overview

This chapter addresses the problem of searching a fixed text. The associated data structure described here is known as the Suffix Array of the text. The searching procedure is presented first for a list of strings in Sections 4.1 and 4.2, and then adapted to a fixed text in the remaining sections.

The first three sections consider the question of searching a list of strings memorized in a table. The table is supposed to be fixed and can thus be preprocessed to speed up later accesses to it. The search for a string in a lexicon or a dictionary that can be stored in central memory of a computer is an application of this question.

We describe how to lexicographically sort the strings of the list (in maximal time proportional to the total length of the strings) in order to be able to apply a binary search algorithm. Actually, the sorting is not entirely sufficient to get an efficient search. The precomputation and the utilization of the longest common prefixes between the strings of the list are extra elements that make the technique very efficient. SEARCHing for a string of length m in a list of n strings takes O( m + log n) time.

The suffix array of a text is a data structure that applies the previous technique to the n (nonempty) suffixes of a text of length n. It allows to determine all the occurrences of a factor of...

Copyright Maxime Crochemore, Christophe Hancart, Thierry Lecroq 2007 under license agreement with Books24x7

Products & Services
Domain Registration Services
Domain registration services register URLs as well as transferring and auctioning registered domains.
Search Engine Software
Search engine software is used to index information on a website or intranet. Algorithms help users search a large corpus of data by keyword or a set of terms. The results are then presented in a prioritized list.
Buffs and Buffing Wheels
Buffs and buffing wheels are used to hold finishing compounds and polish parts made of metal, plastic, ceramic, glass, wood, stone, silicon, or optical materials.
Manholes and Manhole Covers
Manholes allow access to underground pipes, cables, meters and facilities. Manhole covers are used cover manholes.
ANSI Roller Chain Sprockets
Roller chain sprockets engage chain drives in power transmission and conveyor systems, though sprockets can engage any perforated material. Chain drives can be highly efficient and can produce a mechanical advantage as speed reducers/increasers. Sprockets conforming to ANSI standard B 29.1 are not meant to engage roller chains of any other parameter. ANSI conforming roller chain is smaller and somewhat weaker than its European counterpart.

Topics of Interest

Overview In this chapter, we present data structures for storing the suffixes of a text. These structures are conceived for providing a direct and fast access to the factors of the text. They allow...

The techniques introduced in the two previous chapters find immediate applications for the realization of the index of a text. The utility of considering the suffixes of a text for this kind of...

Overview In this chapter, we are interested in the approximate search for fixed strings. Several notions of approximation on strings are considered: jokers, differences, and mismatches. A joker is...

8.4 Approximate Matching for Short Patterns The algorithm presented in this section is a method both very fast in practice and very simple to implement for short patterns. The method solves the...

The brain is, in fact, an associating machine. To recall a name, date, or fact, what the brain needs is a cue, a clue. Robert L. Montgomery, Memory Made Easy, 1979 Yea, from the table of my...