Deterministic finite automaton (DFA):
- The transition from a state is to a single particular next state for each input symbol. Hence it is called deterministic.
- Empty string transitions are not seen in DFA.
- Backtracking is possible in DFA
- Requires more space
- A string is accepted by a DFA, if it transits to a final state
Nondeterministic finite automaton (NFA):
- The transition from a state can be to multiple next states for each input symbol. Hence it is called non-deterministic.
- NFA permits empty string transitions
- In NFA, backtracking is not always possible
- Requires less space.
- A string is accepted by a NFA, if at least one of all possible transitions ends in a final state