Python-Algorithmen

Array in Python rotieren

Bei einer Rotation werden Elemente am Ende wieder am Anfang eingefügt.

Was ist Array in Python rotieren?

Bei einer Rotation werden Elemente am Ende wieder am Anfang eingefügt.

Verschiebe Listenelemente zyklisch um k Positionen.

Wann wird dieser Ansatz verwendet?

  • Algorithmen und Datenstrukturen anhand von ausführbarem Code verstehen.
  • Die einzelnen Verarbeitungsschritte und Randfälle nachvollziehen.
  • Laufzeit und Speicherbedarf verschiedener Lösungswege vergleichen.

Beispielcode

Code ausführen →
main.py
def rotate_right(values, steps):
    if not values:
        return []
    steps %= len(values)
    return values[-steps:] + values[:-steps]

print(rotate_right([1, 2, 3, 4, 5], 2))

Erwartete Ausgabe

[4, 5, 1, 2, 3]

So funktioniert es

k wird mit der Listenlänge normalisiert. Slicing setzt die beiden Bereiche in O(n) Zeit und O(n) zusätzlichem Speicher neu zusammen.

Ändere die Werte und führe das Programm im CodeUtility Python Online-Compiler aus, ohne Python lokal zu installieren.

Übungsaufgaben

Verändere Eingaben und Randfälle, bevor du die Lösung mit größeren Datenmengen testest.

  1. Teste leere Eingaben, ein Element und doppelte Werte.
  2. Gib den Zustand nach jedem Schritt aus.
  3. Vergleiche Laufzeit und Speicherbedarf mit einem alternativen Verfahren.
In der Python-IDE ausführen →