Last Updated : 30 Dec, 2024
The task is to generate all the possible permutations of a given string. A permutation of a string is a rearrangement of its characters. For example, the permutations of "ABC" are "ABC", "ACB", "BAC", "BCA", "CAB", and "CBA". The number of permutations of a string with n unique characters is n! (factorial of n).
We can generate permutations of a string in Python using methods like inbuilt functions and recursion.
itertools module in Python provides a simple function called permutations that can generate all possible permutations of a string. This method is the easiest and most efficient, especially when working with built-in Python libraries.
Python
import itertools
s = "GFG"
li = [''.join(p) for p in itertools.permutations(s)]
print(li)
Explanation:
Recursion is a method where a function calls itself to solve smaller parts of a problem. In the case of generating permutations, we can break down the problem by selecting one character at a time and recursively permuting the rest of the string. This approach is a bit more complex than using itertools.permutations, but it can be useful if we want more control over the process.
Python
def permute(s, s2):
if len(s) == 0:
print(s2, end=' ')
return
for i in range(len(s)):
char = s[i]
left_s = s[0:i]
right_s = s[i+1:]
rest = left_s + right_s
permute(rest, s2 + char)
s1 = "GFG"
s2 = ""
permute(s1, s2)
GFG GGF FGG FGG GGF GFG
Explanation:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4