Pigeonhole sort | |
---|---|
Classe | Algoritmo di ordinamento |
Struttura dati | Array |
Caso peggiore temporalmente | , dove è l'intervallo di valori chiave e è il numero di elementi |
Caso peggiore spazialmente | |
Il Pigeonhole sort è un algoritmo di ordinamento particolarmente adatto quando il numero di elementi () e la lunghezza dell'intervallo dei possibili valori chiave () sono approssimativamente uguali.[1] L'algoritmo ha una complessità temporale e spaziale di O(n + N). È simile al counting sort, ma differisce da quest'ultimo perché il pigeonhole muove gli elementi due volte: una volta nell'array di appoggio e poi di nuovo nella destinazione finale. [2] Il nome pigeonhole (tradotto in "buco della piccionaia") deriva dal nome inglese del principio dei cassetti, che ricorda il processo di assegnamento ad una cella all'interno dell'algoritmo.
L'algoritmo funziona come segue: