Observe que a versão expr_pbf2.c não usa recursão. Suponha que queremos as expressões bem-formadas com m pares de parênteses. Quando usamos recursão, determinamos as expressões bem-formadas com k < m pares de parênteses várias vezes. Por exemplo, simule o caso m=3 e observe que o caso k=1 é resolvido 2 veses; simule o caso m=5 e observe que o caso k=3 é resolvido duas vezes. Quantas vezes resolvemos o caso k=1 no caso m=3? No programa expr_pbf2.c, montamos as expressões bem-formadas com k pares de parênteses, para cada k < m, exatamente uma vez (começando de k pequeno). É por isso que este programa é mais eficiente.