Sunday, 5 January 2025

Day 77: Python Program to Print All Permutations of a String in Lexicographic Order using Recursion


 def lexicographic_permutations(s, current=""):

    if len(s) == 0:

        print(current)

    else:

        for i in range(len(s)):

            lexicographic_permutations(s[:i] + s[i+1:], current + s[i])


def permutations_in_lexicographic_order(string):

    sorted_string = ''.join(sorted(string)) 

    lexicographic_permutations(sorted_string)

string = input("Enter a string: ")

print("Permutations in lexicographic order:")

permutations_in_lexicographic_order(string)


#source code --> clcoding.com 

Code Explanation:

def permutations_in_lexicographic_order(string):

Definition: 
This function takes a single parameter:
string: The input string for which permutations need to be generated.

    sorted_string = ''.join(sorted(string))
Sorting the String:
sorted(string) converts the string into a sorted list of characters (e.g., "cba" → ["a", "b", "c"]).
''.join(...) joins the sorted characters back into a string ("abc").
Sorting ensures that permutations start from the smallest lexicographic order.

    lexicographic_permutations(sorted_string)
Calling the Recursive Function:
The sorted string is passed to lexicographic_permutations to generate and print permutations.

3. Input and Execution
string = input("Enter a string: ")

Taking User Input:
The program prompts the user to enter a string.
This string will be used to generate permutations.

print("Permutations in lexicographic order:")
Message Display:
Prints a message indicating that the program will display permutations.

permutations_in_lexicographic_order(string)
Generating Permutations:
Calls the permutations_in_lexicographic_order function with the user-provided string.

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (78) AI (35) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (179) C (77) C# (12) C++ (82) Course (67) Coursera (231) Cybersecurity (24) data management (11) Data Science (129) Data Strucures (8) Deep Learning (21) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (34) Hadoop (3) HTML Quiz (1) HTML&CSS (47) IBM (30) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (61) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (4) Pandas (4) PHP (20) Projects (29) Python (950) Python Coding Challenge (394) Python Quiz (47) Python Tips (3) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (4) Software (17) SQL (42) UX Research (1) web application (8) Web development (4) web scraping (2)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses