Question: MATLAB 2. Permutations A permutation is a reordering of elements in a list. For example, 1, 3, 2 and 3, 2, 1 are two permutations

MATLAB

MATLAB 2. Permutations A permutation is a reordering of elements in alist. For example, 1, 3, 2 and 3, 2, 1 are two

2. Permutations A permutation is a reordering of elements in a list. For example, 1, 3, 2 and 3, 2, 1 are two permutations of the elements in the list 1, 2, 3. In this problem, we will find all the permutations of the elements in a given list of numbers using recursion. Consider then the three-element list 1, 2, 3. To see how recursion comes into play, consider all the permutations of these elements: We observe that these permutations are constructed by taking each element in {1,2,3} {1,3,2} {2,1,3} {2,3, 1} {3, 1,2} {3, 2, 1} the list, putting it first in the array, and then permuting all the remaining elements in the list. For instance, if we take 1, we see that the permutations of 2, 3 are 2, 3 and 3, 2. Thus, we get the first two permutations on the previous list. For a list of size N, we pull out the k-th element and append it to the beginning of all the permutations of the resulting list of size N-1. We can work recursively from our size N case down to the base case of the permutations of a list of length 1 (which is simply the list of length 1 itself). *Caution* You are not allowed to use Matlab built-in functions such as: perms(), pemute(), nchoosek(), or any other similar functions. Task Complete the function genPerm using the function declaration line: 1 function (allPerm] genPerm(list) list - a 1D array of unique items (i.e. [1,2,3]) allPerm - a cell array of N! 1D arrays. Each of the 1D arrays should be a unique permutation of items of list. Use a recursive algorithm to construct these permutations. For a list of size N there will be N! permutations, so do not test your code for arrays with more than a few elements (say, no more than 5 or so). Note that writing this function requires good knowledge of cell arrays, so it is recommended that you review that material before undertaking the programming task

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!