Algoritmi Python

Quicksort in Python

I valori vengono separati in minori, uguali e maggiori del pivot.

Che cos’è Quicksort?

I valori vengono separati in minori, uguali e maggiori del pivot.

Partiziona i valori intorno a un pivot.

Quando si usa?

  • Comprendere algoritmi e strutture dati.
  • Osservare ogni passaggio e gestire i casi limite.
  • Confrontare tempo di esecuzione e memoria.

Visualizzatore di Quicksort in Python

O(n log n)

Usa Avvia o Passo per seguire ogni confronto e spostamento dei dati.

Codice di esempio

Esegui codice →
main.py
def quick_sort(values):
    if len(values) <= 1:
        return values
    pivot = values[len(values) // 2]
    lower = [value for value in values if value < pivot]
    equal = [value for value in values if value == pivot]
    higher = [value for value in values if value > pivot]
    return quick_sort(lower) + equal + quick_sort(higher)

print(quick_sort([10, 7, 8, 9, 1, 5]))

Output previsto

[1, 5, 7, 8, 9, 10]

Come funziona

Tempo medio O(n log n), ma O(n²) con pivot sfavorevoli.

Modifica i valori ed esegui il programma nel compilatore Python online CodeUtility senza installare Python.

Esercizi pratici

Modifica gli input e verifica i casi limite prima di usare dataset più grandi.

  1. Prova input vuoto, un elemento e duplicati.
  2. Stampa lo stato dopo ogni passaggio.
  3. Confronta le prestazioni con un’altra soluzione.
Esegui nell’IDE Python →