Question: 4 Permutation in-place (10 pts) Design a recursive backtracking algorithm that outputs all possible permutations of an array of n elements in-place (i.e., your algorithm

4 Permutation in-place (10 pts) Design a recursive backtracking algorithm that outputs all possible permutations of an array of n elements in-place (i.e., your algorithm should not use more than O(1) additional space). Write down the pseudocode, and prove that your algorithm correctly prints out all permutations (Hint: use induction). No points will be given for an algorithm without the correctness proof. You may call the following procedures from within your algorithm: PRINT(A,P,r)-to print the subarray Alp.r SWAP(A, i,j) -to exchange the items Alil and AU] within the array A
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
