What is a 'Suffix Automaton'?

What is a 'Suffix Automaton'?

Approach: Describe a finite automaton that recognizes all suffixes of a string.

A minimal Deterministic Finite Automaton that recognizes the set of all suffixes of a given string. It can be built in O(n) and used to solve complex string problems.

Follow-up: Compare it to a Suffix Tree in terms of space.

Key concepts: O(n) construction, state machine, substring search.