Question: USE C++ LANGUAGE PERMUTATIONS! As you know from Discrete Math, a permutation is any possible ordering of the distinct items of a set S. If
USE C++ LANGUAGE


PERMUTATIONS! As you know from Discrete Math, a permutation is any possible ordering of the distinct items of a set S. If SI n, there are n! permutations. This means that for large sets, it is computationally infeasible to generate all possible permutations. One well-known algorithm for generating set permutations (at least for small sets) is presented below: ALGORITHM Johnson-Trotter (r) Input: a positive integer n Output: A list of all permutations of 1,2, n initialize the first permutation as 12 n with directions pointing left while the last permutation has a mobile element find its largest mobile element k swap k and the element to which k is directed reverse the direction of all elements that are larger than k add the new permutation to the list Note: an element is mobile if its direction points to a smaller adjacent element. Example: 1 2 3 1 3 2 3 1 2 3 2 1 2 3 1 2 1 3 REQUIREMENTS Design and implement a program to generate all permutations of the set of least n positive integers. INPUT an integer n with 1 S n S 25. OUTPUT: The tag "There are x permutations of the set {1, 2 n where x n! a list of all permutations of the set f1, 2, H, one per line EXAMPLE OUTPUT There are 6 permutations of the set 1, 2, 3
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
