Sto facendo un programma sul mio tempo libero che voglio correre il più rapidamente possibile. Il programma è scritto in C.
Un ampio set di procedure funziona su puntatori a 7 numeri interi ordinati in base ai loro valori numerici da alto a basso.
Fino a questo punto ho usato la funzione di libreria "qsort" per ordinare i miei interi. Ora, quando ho finito il resto dell'applicazione, voglio sostituire la mia chiamata a qsort con qualcosa di più veloce.
Voglio un algoritmo di ordinamento per ordinare un numero fisso di 7 numeri interi il più velocemente possibile. Per favore dimmi cosa vorresti usare e perché pensi che sia il migliore.
-
Ho letto della notazione di Big O e da quello che ho scoperto misura solo la durata dell'algoritmo in base al numero di elementi che deve essere ordinato. La notazione di Big O conta davvero quando ho solo bisogno di ordinare 7 elementi? O (n * log n) può essere più veloce di un O (n ^ 2) in questo caso?
-
"radixsort" sembra una buona scelta per me ma voglio ottenere anche le tue opinioni.
L'algoritmo di ordinamento verrà utilizzato milioni di volte e durante questo periodo l'utente del programma dovrà attendere. Il mio programma è quasi 10 volte più lento da quando ho iniziato a usare qsort (prima di misurarlo con un array hard-coded).