Dato un problema, non esistono ricette generali per progettare algoritmi efficienti che lo risolvano. Tuttavia, durante la progettazione di un algoritmo si possono individuare 4 fasi distinte:
Classificazione del problema
Caratterizzazione della soluzione
Tecnica di Progetto
Strutture di Dati
Classificazione del problema
Si cerca di verificare l’appartenenza di un problema ad una classe più generale aventi caratteristiche comuni:
Problemi decisionali
Problemi di ricerca
Problemi di ottimizzazione
La comprensione del tipo di problema indirizza la ricerca dell’algoritmo di soluzione.
Caratterizzazione della soluzione
Suggerisce algoritmi di soluzione attraverso la caratterizzazione matematica della soluzione ad un problema. Per esempio se il problema fosse: dire se un intero p>1 è primo; la caratterizzazione sarebbe la seguente: p è primo se e solo se è divisibile per se stesso ed 1.
Tecnica di Progetto
Tecniche di progetto di algoritmi per rendere gli algoritmi più veloci:
Strutture di Dati
Impiego di strutture di dati tali da organizzare l’input del problema in modo più efficiente
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.