Alla fine il tempo di esecuzione [secondi] dell'implementazione di un algoritmo è il fattore decisivo, ma i coefficienti e la notazione O grande ti aiutano a inventare algoritmi efficienti.
La notazione O grande indica come si comporta l'algoritmo se il numero di input / .. n cambia drasticamente (ordini di grandezza). Lo usi principalmente in senso relativo, cioè aumenta il polinomio, il lineare, il nlog (n), ...
Se confronti due algoritmi che hanno termini big-O simili dovresti includere i coefficienti. Potrebbe essere che l'algoritmo di ordine peggiore, ma con un coefficiente migliore, sia effettivamente più veloce per i tuoi set di dati tipici e non vuoi perderlo.
E finalmente nella pratica le persone spesso prendono solo alcune implementazioni e le lasciano correre l'una contro l'altra. Offre una visione pratica vicino alla realtà (hardware utilizzato e set di dati tipici) ma dipende dall'implementazione, dall'hardware e dai set di dati utilizzati.
Tutti insieme sono i migliori.