Nel vasto mare delle aree disciplinari dell’Informatica, l’algoritmica occupa un ruolo centrale. Obiettivo di questa disciplina è lo studio degli algoritmi che risolvono problemi significativi. L’analisi degli algoritmi esistenti, inoltre, è momento essenziale per la sintesi di nuovi algoritmi efficienti.
Questo testo è indirizzato agli studenti di Algoritmica, insegnamento del secondo anno del corso di laurea in Informatica Umanistica dell’Università di Pisa.
Dapprima sono introdotti i concetti di algoritmo e modello di calcolo, quindi viene trattata la complessità computazionale concreta e sono mostrate le principali tecniche di ordinamento e ricerca. Vengono inoltre forniti cenni sulla teoria degli algoritmi non deterministici e probabilistici. Come esempi di applicazione sono presentati alcuni argomenti particolarmente interessanti: il calcolo della Edit-Distance, la codifica ottima di Huffman, il calcolo dei numeri primi e alcuni esempi di trattamento di dati testuali. Completa il saggio una breve raccolta di esercizi svolti.
Il linguaggio usato per gli esempi di programmazione è il Python 3 particolarmente adatto ad essere usato da non specialisti.
Questo testo è indirizzato agli studenti di Algoritmica, insegnamento del secondo anno del corso di laurea in Informatica Umanistica dell’Università di Pisa.
Dapprima sono introdotti i concetti di algoritmo e modello di calcolo, quindi viene trattata la complessità computazionale concreta e sono mostrate le principali tecniche di ordinamento e ricerca. Vengono inoltre forniti cenni sulla teoria degli algoritmi non deterministici e probabilistici. Come esempi di applicazione sono presentati alcuni argomenti particolarmente interessanti: il calcolo della Edit-Distance, la codifica ottima di Huffman, il calcolo dei numeri primi e alcuni esempi di trattamento di dati testuali. Completa il saggio una breve raccolta di esercizi svolti.
Il linguaggio usato per gli esempi di programmazione è il Python 3 particolarmente adatto ad essere usato da non specialisti.