In informatica , gli algoritmi si basano su strutture di dati , al fine di eseguire i loro compiti in modo efficiente ed efficace. Una volta che una struttura di dati è stato messo in atto, gli algoritmi possono essere sviluppati , testati e funzionano . Strutture dati e algoritmi sono utilizzati in quasi tutti i programmi informatici oggi disponibili . Chi Strutture dati
In informatica , una struttura di dati è un modo di organizzare e memorizzare dati ; strutture dati cercano di massimizzare l'efficienza di archiviazione e recupero dei dati in un computer. Diversi tipi di strutture dati sono adatti per compiti diversi - per esempio , B-alberi sono spesso utilizzati per la gestione di basi di dati , mentre le tabelle hash vengono utilizzati per i compilatori . Progettare e realizzare una struttura dati efficiente è essenziale per la progettazione di algoritmi efficienti per un programma di computer.
Chi Algoritmi
In informatica , un algoritmo è un insieme di istruzioni non ambigue usato per ottenere un output specifico per qualsiasi legittimo - cioè, riconosciuto - ingresso . Algoritmi si basano su strutture dati per avere successo - ci deve essere una struttura di dati in luogo prima di algoritmi possono essere sviluppati e testati . Questo è il motivo per cui alcuni programmatori credono che il segreto per lo sviluppo di un buon software per computer è il design e l'uso di strutture dati efficienti , piuttosto che algoritmi intelligenti .
Brute Force Algoritmi
< br
tipi > "forza bruta" sono alcuni degli algoritmi più semplici e diretti. Come suggerisce il nome , gli algoritmi di forza bruta richiede la dichiarazione del problema da risolvere , così come le definizioni esplicite dei suoi vari componenti , al fine di funzionare correttamente . Nella programmazione di computer , algoritmi di forza bruta sono utilizzati per calcolare i fattoriali , elevamento a potenza , per moltiplicare le matrici o per la ricerca di chiave di un valore in un elenco specifico .
Divide ( o diminuzione) e Conquer
Algoritmi
Divide et impera sono alcuni dei maggior parte degli algoritmi ben noti, e sono in genere utilizzati per costruire algoritmi ricorsivi - una sorta di ciclo di feedback positivo . Fedele al proprio nome , divide et impera algoritmi dividono un problema in due problemi più piccoli che ogni più facili da affrontare e risolvere separatamente le soluzioni vengono quindi combinati per risolvere il problema originale . In diminuire e conquistare gli algoritmi , il problema originale è ridotta a una dimensione che l'algoritmo può gestire . Una volta che la soluzione si trova , viene ridimensionato fino a risolvere il problema originale . Diminuzione e conquistare gli algoritmi sono noti anche come algoritmi induttivi o incrementale.
Transform and Conquer Algoritmi
Transform e conquistare algoritmi di risolvere i problemi in programmazione in uno dei tre modi, tutti dei quali coinvolgono trasformare - o tradurre - il problema a qualcosa di più gestibile . Una trasformazione e conquistare algoritmo può trasformare il problema di un esempio più semplice dello stesso problema in un processo noto come " esempio di semplificazione ". Essi potrebbero anche trasformare il problema di una nuova rappresentazione del problema , che si chiama "cambiamento rappresentazione ". Infine , trasformare e conquistare algoritmi possono anche tradurre il problema in un problema diverso che è più facile da risolvere , questo ultimo metodo è chiamato
"riduzione del problema . "