Скажем, у меня есть список n элементов, я знаю, что есть n! возможные способы упорядочения этих элементов. Что такое алгоритм для генерации всех возможных порядков этого списка? Например, у меня есть список [a, b, c]. Алгоритм возвращает [[a, b, c], [a, c, b,], [b, a, c], [b, c, a], [c, a, b], [c, b, a]].
Я читаю это здесь http://en.wikipedia.org/wiki/Permutation#Algorithms_to_generate_permutations
Но Википедия никогда не умела объяснять. Я не очень понимаю.