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

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

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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!