Menu
Coddy logo textTech

Motivazione

Lezione 2 di 9 del corso Ordinamento per conteggio - Serie DSA di Coddy.

Counting Sort non confronta mai due elementi. Usa direttamente i loro valori come indici in un array di conteggio, ed è questo che gli permette di funzionare in tempo lineare.

Perché imparare Counting Sort?

  • Tempo lineare: funziona in O(n + k), dove n è il numero di elementi e k è l’intervallo dei valori. Quando k è piccolo, è più efficiente di O(n log n).
  • Stabile (se eseguito con attenzione): è alla base di Radix Sort, che concatena diverse passate di counting sort.
  • Un’idea diversa: ordinare contando i valori invece di confrontarli.

Il compromesso: richiede O(k) memoria per l’array di conteggio, quindi è poco adatto quando l’intervallo dei valori è enorme (per esempio, per ordinare una manciata di numeri fino a un miliardo).

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Ordinamento per conteggio - Serie DSA

Esercitati da solo: Compilatore C online