Casa Finanza personale Che trattano la complessità degli algoritmi - manichini

Che trattano la complessità degli algoritmi - manichini

Video: Ignazio Licata - Complessità. La musica complessa del mondo | ODRATALK01 2025

Video: Ignazio Licata - Complessità. La musica complessa del mondo | ODRATALK01 2025
Anonim

Parte di Algorithms For Dummies Cheat Sheet

Sai già che gli algoritmi sono complessi. Tuttavia, è necessario sapere quanto è complesso un algoritmo perché più è complesso, più tempo è necessario per l'esecuzione. La seguente tabella ti aiuta a capire i vari livelli di complessità presentati in ordine di tempo di esecuzione (dal più veloce al più lento).

Complessità Descrizione
Complessità costante O (1) Fornisce un tempo di esecuzione invariabile, indipendentemente dalla quantità di input fornita. Ogni input richiede una singola unità di tempo di esecuzione.
Complessità logaritmica O (log n) Il numero di operazioni cresce a un ritmo più lento dell'input, rendendo l'algoritmo meno efficiente con piccoli input e più efficiente con quelli più grandi. Un algoritmo tipico di questa classe è la ricerca binaria.
Complessità lineare O (n) Le operazioni crescono con l'input in un rapporto 1: 1. Un algoritmo tipico è l'iterazione, quando si esegue la scansione di input una volta e si applica un'operazione a ciascun elemento di esso.
Complessità Linearitmica O (n log n) La complessità è un mix tra complessità logaritmica e lineare. È tipico di alcuni algoritmi intelligenti utilizzati per ordinare dati, come Mergesortsort, Heapsort e Quicksort.
Complessità quadratica O (n 2 ) Le operazioni crescono come un quadrato del numero di input. Quando si ha una iterazione all'interno di un'altra iterazione (chiamata iterazioni nidificate in informatica), si ha una complessità quadratica. Ad esempio, hai un elenco di nomi e, per trovare quelli più simili, confronti ogni nome con tutti gli altri nomi. Alcuni algoritmi di ordinamento meno efficienti presentano tale complessità: ordinamento di bolle, ordinamento di selezione e ordinamento di inserimento. Questo livello di complessità significa che i tuoi algoritmi possono essere eseguiti per ore o addirittura giorni prima di raggiungere una soluzione.
Complessità cubica O (n 3 ) Le operazioni crescono anche più rapidamente della complessità quadratica perché ora si hanno più iterazioni nidificate. Quando un algoritmo ha questo ordine di complessità ed è necessario elaborare una modesta quantità di dati (100.000 elementi), l'algoritmo potrebbe funzionare per anni. Quando si dispone di un numero di operazioni che è una potenza dell'input, è comune fare riferimento all'algoritmo come in esecuzione in tempo polinomiale.
Complessità esponenziale O (2 n ) L'algoritmo richiede il doppio del numero di operazioni precedenti per ogni nuovo elemento aggiunto. Quando un algoritmo ha questa complessità, anche piccoli problemi possono richiedere per sempre. Molti algoritmi che eseguono ricerche esaurienti hanno una complessità esponenziale. Tuttavia, l'esempio classico di questo livello di complessità è il calcolo dei numeri di Fibonacci.
Complessità fattoriale O (n!) Questo algoritmo presenta un vero incubo di complessità a causa dell'elevato numero di combinazioni possibili tra gli elementi. Immagina: se il tuo input è di 100 oggetti e un'operazione sul tuo computer richiede 10 -6 secondi (una velocità ragionevole per ogni computer al giorno d'oggi), avrai bisogno di circa 10 140 anni per completare l'attività con successo (una quantità di tempo impossibile perché l'età dell'universo è stimata in 10 14 anni). Un famoso problema di complessità fattoriale è il problema del commesso viaggiatore, in cui un venditore deve trovare il percorso più breve per visitare molte città e tornare alla città di partenza.
Che trattano la complessità degli algoritmi - manichini

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...