Этому алгоритму достаточно сгенерировать только половину всех перестановок (n!/2), т.к. перестановки из 2-й половины зеркально симметричны перестановкам из 1-й половины. Поэтому этот алгоритм может работать в 2 раза быстрее: просто выдаваемую им перестановку надо рассмотреть слева направо и справа налево.
Алгоритм с обменом смежных элементов
Этому алгоритму достаточно сгенерировать только половину всех перестановок (n!/2), т.к. перестановки из 2-й половины зеркально симметричны перестановкам из 1-й половины. Поэтому этот алгоритм может работать в 2 раза быстрее: просто выдаваемую им перестановку надо рассмотреть слева направо и справа налево.