Deck · IOI — Competitive Programming

String Algorithms

String algorithms for competitive programming: substrings, prefixes, suffixes, palindromes, periods and borders; naive matching, polynomial hashing (Rabin-Karp), KMP and the prefix function, the Z-algorithm, tries, Aho-Corasick, suffix arrays and LCP (Kasai), suffix automata/trees, Manacher's algorithm, longest common substring, lexicographic order, and the Burrows-Wheeler transform.

79 cards · audited · SM-2 spaced repetition

or go All-Access →

Included with the full IOI — Competitive Programming program — 14 decks, 964 cards.

Sample cards

1

What is a substring of a string s?

2

How many distinct positions can a substring of length L occupy in a string of length n?

3

What is a prefix and a suffix of a string s?

4

What is a proper prefix (or proper suffix)?

5

What is a palindrome?

Showing 5 of 79 cards. Unlock the program to study them all.

More in IOI — Competitive Programming

Master string algorithms — and the rest of IOI — Competitive Programming.

One program. 964 audited cards across 14 decks.

or go All-Access →

See the full program →