Algoritmi e strutture dati

Progettazione di Algoritmi

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

Si cerca di verificare l’appartenenza di un problema ad una classe più generale aventi caratteristiche comuni:

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.