Algoritmi e strutture dati

Algoritmo

Un algoritmo è la descrizione della soluzione di un problema espressa nella forma di un insieme di regole che, operando sui dati iniziali, consentono di ottenere dei risultati che costituiscono la soluzione del problema. Tali regole vengono determinate tramite la scomposizione interattiva del problema di partenza in sottoproblemi elementari, la soluzione di ognuno dei quali è detta passo (step) dell'algoritmo. Un algoritmo è dunque una specificazione fase per fase del modo di risolvere un dato problema. Il termine deriva dal nome latinizzato del matematico arabo al-Khuwarizmi (sec. IX). Un algoritmo, in genere rappresentato sotto forma di diagramma di flusso, viene tradotto in un linguaggio di programmazione. Per trasformare un algoritmo in un programma, vale a dire una descrizione effettivamente eseguibile da un calcolatore, è necessario rappresentare i dati e le azioni, in un formato adatto alla manipolazione e alla memorizzazione da parte di un esecutore automatico. Diventa quindi fondamentale un'adeguata codifica dei dati. Un algoritmo può essere considerato come un elaboratore di dati dedicato alla soluzione di un particolare problema computazionale. Esso elabora un insieme di dati di input, consistenti con la natura del problema, ottenendo un insieme di dati di output che ne rappresentano una soluzione. Per la soluzione di un problema posso esistere algoritmi diversi, quale scegliere allora? Quale richiede meno "tempo di calcolo"?

Per saperne di più consulta le seguenti sezioni:

Risoluzione effettiva dei problemi

Esempi di algoritmi

Tempo di calcolo

Complessità di un algoritmo

Progettazione di Algoritmi























































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.