logo

Python-Programm zum Sortieren einer Zeichenfolge

Sortierung war schon immer ein recht beliebtes Dienstprogramm mit vielen Anwendungen überall dort, wo die Python-Sprache eingesetzt wird. Python bietet in seiner Sprache eine Sortierfunktion, um diese Aufgabe auszuführen. Da jedoch nicht alle Python-Container veränderbar sind, wie z. B. Zeichenfolgen, funktioniert die Sortierfunktion nicht, da sie versucht, zu sortieren, und die Unveränderlichkeit verhindert dies. Lassen Sie uns spezifische Möglichkeiten besprechen, wie eine Zeichenfolge sortiert werden kann.

Beispiel

Selen-Grundlagen
  Input:   geekforgeeks   Output:   eeeefggkkors   Explaination:  The Sorting the characters in ascending order gives us 'eeeefggkkors'.>

Programm zum Sortieren eines Strings in Python

Nachfolgend finden Sie eine Liste der Methoden, die wir behandeln werden:



Programm zum Sortieren einer Zeichenfolge mit join() und sorted()

Die Kombination der oben genannten Funktionen kann möglicherweise dieses spezielle Problem lösen. Diese Aufgabe wird im 2. Schritt durchgeführt Dabei erhalten wir im ersten Schritt die sortierte Liste der Zeichen und verbinden dann das Ergebnis, um das Ergebnis zu erhalten sortierte Zeichenfolge.

Python3




test_string>=> 'geekforgeeks'> # printing original string> print>(>'The original string : '> +> str>(test_string))> # using join() + sorted()> # Sorting a string> res>=> ''.join(>sorted>(test_string))> > # print result> print>(>'String after sorting : '> +> str>(res))>

>

>

Ausgabe

The original string : geekforgeeks String after sorting : eeeefggkkors>

Zeitkomplexität: Die zeitliche Komplexität des Codes beträgt O(n log n).
Raumkomplexität: Die räumliche Komplexität des gegebenen Codes beträgt O(n).

Sortieren Sie einen Python-String u singen Sie die Native-Methode

So sortieren Sie eine bestimmte Zeichenfolge mit Benutzereingaben mithilfe der integrierten Python-Sortiermethode.

Python3




String>=> 'geekforgeeks'> print>(>'Original String: '>, String)> lst>=> list>(String)> lst.sort()> print>(>'Sorted String: '>)> for> i>in> lst:> >print>(i, end>=> '')>

>

>

Ausgabe:

Original String: geekforgeeks Sorted String:  eeeefggkkors>

Zeitkomplexität: Die zeitliche Komplexität des Codes beträgt O(n log n).
Raumkomplexität: Die räumliche Komplexität des gegebenen Codes beträgt O(n).

Sortieren Sie einen Python-String mit Reduce() und Lambda

Diese spezielle Aufgabe kann auch durch eine Kombination der oben genannten Funktionen ausgeführt werden. Hier fügen wir die resultierende sortierte Liste von Zeichen mit dem zusammen Lambda-Funktion verbunden durch die Reduce-Funktion. Funktioniert nur für Python2

Python




test_string>=> 'geekforgeeks'> # printing original string> print>(>'The original string : '> +> str>(test_string))> # using sorted() + reduce() + lambda> res>=> reduce>(>lambda> x, y: x>+> y,>sorted>(test_string))> > # print result> print>(>'String after sorting : '> +> str>(res))>

Vergleiche in String
>

>

Ausgabe

The original string : geekforgeeks String after sorting : eeeefggkkors>

Zeitkomplexität: Die zeitliche Komplexität des Codes beträgt O(n log n).
Raumkomplexität: Die räumliche Komplexität des gegebenen Codes beträgt O(n).

Sortieren Sie eine Zeichenfolge in Python mit Bubble Sort

Konvertieren Sie die Zeichenfolge in eine Liste von Zeichen und verwenden Sie dann die Blasensortierung Der Algorithmus zum Sortieren der Liste fügt nun die sortierte Liste zu einer Zeichenfolge zusammen.

Python3




def> sort_string(s):> >chars>=> list>(s)> >n>=> len>(chars)> >for> i>in> range>(n):> >for> j>in> range>(>0>, n>->i>->1>):> >if> chars[j]>Panzer[j>+>1>]:> >chars[j], chars[j>+>1>]>=> chars[j>+>1>], chars[j]> >return> ''.join(chars)> s>=> 'geekforgeeks'> print>(>'Original string:'>, s)> print>(>'String after sorting:'>, sort_string(s))>

>

>

Ausgabe

Original string: geekforgeeks String after sorting: eeeefggkkors>

Zeitkomplexität : O(n^2), weil wir den Blasensortierungsalgorithmus verwenden, der eine zeitliche Komplexität von O(n^2) hat.
Hilfsraum: O(n), weil wir aus der Originalzeichenfolge eine neue Zeichenliste erstellen.

Programm zum Sortieren einer Zeichenfolge mithilfe der Zusammenführungssortierung

Dieser Ansatz nutzt die Zusammenführen, sortieren Algorithmus zum Sortieren der Zeichen in der Zeichenfolge. Es wandelt die Zeichenfolge zunächst in eine Liste von Zeichen um und teilt die Liste dann rekursiv in zwei Hälften, bis der Basisfall eines einzelnen Elements erreicht ist. Anschließend werden die beiden Hälften mithilfe der Funktion merge() in sortierter Reihenfolge wieder zusammengefügt. Die sortierte Liste wird dann wieder in einen String umgewandelt.

Python3




So konvertieren Sie eine Ganzzahl in einen String Java

# Define a function called 'merge_sort'> def> merge_sort(s):> >if> len>(s) <>=> 1>:> >return> s> ># find the middle index of the string 's'> >mid>=> len>(s)>/>/> 2> ># split the string into two halves, left and right> >left>=> merge_sort(s[:mid])> >right>=> merge_sort(s[mid:])> >#Recursively apply the merge_sort function on the left and right halves.> >return> merge(left, right)> > # Merge the left and right halves using the merge function.> def> merge(left, right):> #Initialize an empty list called 'result' and two indices, 'i' and 'j', both set to 0.> >result>=> []> >i>=> j>=> 0> >while> i <>len>(left)>and> j <>len>(right):> >if> left[i] result.append(left[i]) #Increment the index of the array i += 1 else: result.append(right[j]) #Increment the index of the array j += 1 result += left[i:] result += right[j:] return result s = 'geekforgeeks' #Convert the sorted list to a string and print the result. sorted_s = ''.join(merge_sort(list(s))) print('String after sorting:', sorted_s)>

>

>

Ausgabe

String after sorting: eeeefggkkors>

Zeitkomplexität: O(n log n) Dabei ist n die Länge der Eingabezeichenfolge s.
Raumkomplexität: O(n) Dabei ist n die Länge der Eingabezeichenfolge s.

Sortieren Sie einen String in einem Python-Programm mithilfe eines Wörterbuchs

Dieses Programm sortiert eine gegebene Eingabezeichenfolge in aufsteigender Reihenfolge basierend auf den darin enthaltenen Zeichen. Es verwendet ein Wörterbuch, um die Häufigkeit jedes Zeichens zu zählen und sie dann basierend auf dem ASCII-Wert des Zeichens zu sortieren.

Python3




input_string>=> 'geekforgeeks'> #Initialize an empty dictionary to store the count> char_count>=> {}> #Loop through each character in the input string and update the count of that character> for> char>in> input_string:> >if> char>in> char_count:> >char_count[char]>+>=> 1> >else>:> >char_count[char]>=> 1> > #Create an empty string to store the sorted string.> sorted_string>=> ''> #Loop through each character in the sorted list of keys of the dictionary> #Add that character multiplied by its count in the input string to the sorted string.> for> char>in> sorted>(char_count.keys()):> >sorted_string>+>=> char>*> char_count[char]> #Print the original string and the sorted string.> print>(>'Original string: {}'>.>format>(input_string))> print>(>'String after sorting: {}'>.>format>(sorted_string))>

>

>

Ausgabe

Original string: geekforgeeks String after sorting: eeeefggkkors>

Zeitkomplexität: Die zeitliche Komplexität dieses Algorithmus beträgt aufgrund der Verwendung der Funktion sorted() O(nlogn).
Raumkomplexität: Die räumliche Komplexität dieses Algorithmus beträgt O(n), da das Wörterbuch zum Speichern der Anzahl jedes Zeichens verwendet wird.