![]() Once again, the permutations of can be generated from the permutations of, which can be generated from the permutations of, which can be generated from the permutations of. def permutations(lis): if len(lis) = 1: return The Reduction Step Here, as we are reducing the length of the list by one at each recursive iteration, the base case here would be when the input list has a length of 1. In a nutshell, we can generate the permutation of a list using a smaller version of itself, by inserting the additional element z into every position of every permutation. We simply need to insert the additional number 4 into every position for each permutation! generates: generates: and so on and on Similarly, we can generate the permutations for based on the permutations for. Our expected output: Generating Permutations for ![]() To get the permutations, we can take the existing permutations of lis=, and insert our additional number 3 at every position generates, and generates, and Now, let’s say we have a list of length 3 lis=. Notice that we can get this by simply adding 2 in front and behind of the previous permutations: generates and Here, we would expect our output to be:, ] Let’s say we input a list of length 2 instead lis=. As such, we would expect our output to be: ] Generating Permutations for Naturally, the only permutation generated from this list is. ![]() Let’s say we have a list of length 1 lis=. ,, ,, , ] Printing line by line for easier visualisation lis = for perm in permutations(lis): print(perm) The Output Rationale For Recursion Generating Permutations for This recursive function takes in a list, and returns a 2-dimensional list - A larger list containing multiple smaller list, with each smaller list representing 1 permutation. Lis = print(permutations(lis)) The Output ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |