Big O si riferisce all'ordine di esecuzione del caso peggiore. Viene utilizzato per mostrare quanto bene un algoritmo scala in base alla dimensione del set di dati (n-> numero di elementi).
Poiché ci occupiamo solo dell'ordine, i moltiplicatori costanti vengono ignorati e vengono rimossi anche i termini che aumentano meno rapidamente del termine dominante. Alcuni esempi:
Una singola operazione o una serie di operazioni è O (1), poiché richiede un tempo costante (non varia in base alla dimensione del set di dati).
Un ciclo è O (n). Ogni elemento nel set di dati viene ripetuto.
Un ciclo nidificato è O (n^2). Un ciclo annidato annidato è O (n^3) e in avanti.
Le cose come la ricerca dell'albero binario sono log (n), che è più difficile da mostrare, ma a ogni livello dell'albero, il numero possibile di soluzioni è dimezzato, quindi il numero di livelli è log (n) (fornito l'albero è equilibrato).
Qualcosa come trovare la somma di un insieme di numeri che è più vicino ad un dato valore è O (n!), Poiché la somma di ogni sottoinsieme deve essere calcolata. Questo è molto cattivo.
fonte
2010-07-01 13:11:44
Possibile duplicato http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o –