FA の単純な実装では、ノードは次のようになります。
struct Node {
    string label;
    Node*[char] trans;
}
しかし、トランジションの 1 つが "![a]" (文字 'a' 以外) の場合はどうでしょう。また、アルファベットが大きすぎて、「a」以外のすべての可能な文字を格納できません。私の言いたいことがわかりますか?
編集。私の現在の推測は
struct NFAState {
    string label;
    Node*[][char] trans;
    Node*[][char] notTrans;
    Node*[] epsTrans;
}
NFA ノードの場合。