# Difference between NFA DFA

NFA have rules similar to those of DFA but have some differences. Some basic difference are mentioned below.

NFA |
DFA |

NFA stands for Nondeterministic Finite Automata. | DFA stands for Deterministic Finite Automata. |

Its not mandatory to generate transition for each alphabet in the language from a given state to its final state | Its mandatory to generate transition for each alphabet in the language from a given state to its final state |

From one state, many transitions of one alphabet can move to different states. | From one state, only one transition of one alphabet can be move to one state. |

it is not fixed that with a specific input where to go next on which state. | it is fixed that with a specific input where to go next on which state. |

NFA can use Empty String transition. | DFA cannot use Empty String transition. |

Works like multiple small machines working at the same time. | Works like one machine working at a time. |

NFA is easier to construct | DFA is more strict with rules and so difficult to construct |

Time required for reading an input string is more. | Time required for reading an input string is less. |

Not all NFA are DFA | All DFA are NFA |

δ: Q X Σ → 2^{Q } next possible state belongs to power set of Q |
δ: Q x ∑→Q next possible state belongs to Q. |