Pushdown automata are recognizing automata that have a single stack (= memory) that operates in a last-in first-out manner, pushing and popping elements. They are similar to finite automata but have an auxiliary stack memory. Pushdown automata are inherently nondeterministic as there may be more than one transition for each input symbol. They are used to recognize context-free languages, where the languages are defined by context-free grammars.