Algoritmi sono il fondamento e il quadro di tutti i programmi per computer . Sono la sequenza di precise istruzioni a un computer per realizzare un output desiderato . Algoritmi sono ai programmi per elaboratore ciò che la mente sia per il corpo umano . Molti modelli di progettazione algoritmica o paradigmi esistenti , come gli algoritmi greedy , algoritmi divide et impera , algoritmi di programmazione dinamica e algoritmi di backtracking . Ogni classe di algoritmi ha le sue structure.Things design unico che ti serviranno
carta
Penna
Pencil
Eraser
Mostra Altre istruzioni
1 Optimization può significa selezione per aggiornare il valore di qualcosa . algoritmi
golosi sono algoritmi che forniscono le decisioni sulla base delle informazioni disponibili , senza alcuna lungimiranza . Essi funzionano meglio in problemi di ottimizzazione e sono facili da implementare . I passi generali per la loro progettazione sono :
1 . Creare una raccolta (elenco , set, ecc) dei candidati ( C )
2 . Trova un sottoinsieme ( S) dalla collezione di candidati ( C )
3 . Specificare i criteri che S deve soddisfare .
4 . Se soddisfa questi criteri ( possibile) , andare avanti per ottimizzare S
5 . Ottimizzazione S significa selezionare per minimizzare o massimizzare , a seconda del particolare problema . Nel processo si può selezionare la soluzione grande o più piccolo .
2 Tagliare il problema in sezioni più piccole , risolverli e assemblare le soluzioni .
– Divide et impera algoritmi seguono un approccio top-down in progettazione di algoritmi . Essi suddividere il problema in problemi più piccoli e infine rimontare le soluzioni ai problems.The passaggi generali dei componenti per il loro design sono :
1 . Definire il problema
2 . Creare un’istanza del problema
3 . Dividere questa istanza in piccoli sotto- istanze dello stesso problema
4 . Risolvere ciascuno dei sub- istanze di propria
5 . Integrare e combinare le soluzioni dei sottoistanze modo da ottenere una soluzione per l’istanza originale .
3
algoritmi di programmazione dinamici sono una variante dell’algoritmo divide et impera . Mentre gli algoritmi divide et impera , che sono ricorsiva seguono un approccio top-down per risolvere problemi di ottimizzazione , programmazione dinamica segue una tecnica bottom-up . I passi generali per la loro progettazione sono :
1 . Definire il problema
2 . Creare istanze del problema
3 . Costruire una tabella di tutti i sub- istanze
4 . Inizia con i più piccoli sotto- casi
5 . Continuare con l’aumento delle dimensioni sub- esempio aggiungendo i risultati di voci già calcolati
6 . Continuare fino all’ultimo sub- istanza . La soluzione finale ottenuto è la soluzione al problema inizialmente definito .
Questo metodo è iterativo mentre l’approccio divide et impera è ricorsiva .
4 algoritmi di ricerca esistenti che rendono la ricerca efficiente.
l’algoritmo backtracking ricercati sistematicamente per una soluzione di opzioni disponibili , supponendo che una soluzione esiste . I passi generali per la loro progettazione sono :
1 . Inizia con un vettore vuoto
2 . Lasciate che la soluzione rappresentata da vettori ( VI. ….. Vm )
3 . Traverse i vettori , estendendo i vettori parziali con un nuovo valore
4 . Tornate indietro se un vettore sopraelevazione rappresenta una soluzione parziale
5 . Rimuovere il valore finale del vettore
6 . Poi procedere per estendere il vettore con valori alternativi
7 . Continuare il processo fino a quando viene trovata una soluzione .