Big O Notation è un modo per confrontare gli algoritmi. Li confronta calcolando quanta memoria è necessaria e quanto tempo ci vuole per completarli.

La Big O Notation è spesso utilizzata per identificare la complessità di un problema, nota anche come classe di complessità del problema. Il matematico Paul Bachmann (1837-1920) fu il primo ad utilizzare questa notazione, nella seconda edizione del suo libro "Analytische Zahlentheorie", nel 1896. Edmund Landau (1877-1938) rese popolare la notazione. Per questo motivo, quando si parla di un simbolo Landau, ci si riferisce a questa notazione.

Big O Notation prende il nome dal termine "ordine della funzione", che si riferisce alla crescita delle funzioni. La Big O Notation è usata per trovare il limite superiore (la quantità più alta possibile) del tasso di crescita della funzione, il che significa che funziona il più lungo tempo necessario per trasformare l'ingresso in uscita. Ciò significa che un algoritmo può essere raggruppato in base a quanto tempo può richiedere in uno scenario peggiore, in cui il percorso più lungo sarà effettuato ogni volta.

Big O è un'espressione che trova il tempo di esecuzione nel peggiore dei casi, mostrando quanto sia efficiente un algoritmo senza dover eseguire il programma su un computer. Questo è utile anche perché computer diversi possono avere hardware diverso e quindi hanno bisogno di tempi diversi per completarlo.