Il testo, scritto da tre docenti italiani, espone i contenuti classici dei corsi di algoritmi con un taglio completamente innovativo, rivolto alla soluzione di problemi ispirato all’attuale Information tecnology. Lo scopo del libro è di accompagnare lo studente nel progetto e nell’analisi degli algoritmi e delle strutture dati a partire dalle esigenze poste dallo sviluppo di applicazioni informatiche di grande attualità come, ad esempio, i motori di ricerca, la compressione dei dati, la crittografia e le reti di calcolatori.
A tal fine, sono esposti i contenuti classici dei corsi introduttivi di algoritmi e strutture dati offerti nei corsi di laurea triennali, ma per evidenziare l’applicabilità pratica di quanto esposto, gli argomenti sono presentati con un taglio applicativo, rivolto alla soluzione di problemi concreti, ispirati agli “argomenti caldi” del mondo dell’IT: complessità dei giochi, scheduling della CPU, grafica computerizzata, sicurezza dei sistemi, politica LRU e ad auto-organizzazione, minimo antenato comune e flussi informativi, rappresentazione sintetica di documenti XML, crittografia, sistemi P2P, kernel di Linux e frammentazione della memoria, sistemi di gestione delle basi di dati e di information retrieval, motori di ricerca nel Web, Postcript e notazione polacca, Web crawling, logistica e pianifi cazione, e molto altro ancora.
Il libro è integrato con un sistema di visualizzazione di supporto al docente (in fase di spiegazione in aula) e agli studenti (in fase di comprensione e auto-valutazione). Questo sistema, denominato ALVIE (Algorithm Visualization Environment) consente di esaminare in tempo reale il comportamento delle strutture dati e degli algoritmi studiati.
Punti salienti:
- gli algoritmi sono presentati utilizzando uno pseudo-codice molto vicino al codice reale; la trattazione non è quindi vincolata ad alcun linguaggio di programmazione specifico, in modo da risultare comprensibile sia agli studenti con maggiore familiarità verso i linguaggi imperativi sia a quelli con conoscenza della programmazione a oggetti,
- analisi del codice proposto, per studiarne le proprietà con un taglio più astratto e matematico, al fine di “distillarne” l’essenza algoritmica e studiarne la complessità computazionale,
- sito web dedicato, comprensivo del supporto di visualizzazione ALVIE, assoluta novità per i libri dedicati all’argomento, che consente di mostrare ciascun algoritmo “in azione”, facendolo eseguire sugli esempi voluti o per modificarne il comportamento (quest’ultimo aspetto richiede competenze più avanzate di programmazione).
Supplementi: Sul sito web degli autori sono disponibili ulteriori materiali di supporto tra cui: note bibliografiche, esercizi e test, l'errata-corrige, i lucidi e le soluzioni degli esercizi proposti. I docenti potranno creare nuovi esercizi, test di valutazione o altro materiale da condividere con altri docenti. E’ inoltre disponibile l'applicativo ALVIE (ALgorithm VIsualization Environment), che consente lo sviluppo e la visualizzazione degli algoritmi e delle strutture di dati discussi nel libro e altre decine di visualizzazioni gia' confezionate e numerosi tutorial per crearne di nuove.
Gli autori
Crescenzi, professore ordinario presso l’Università degli Studi di Firenze, dove insegna nei corsi di Algoritmi e Strutture Dati e di Informatica teorica. È autore di numerose pubblicazioni scientifi che nel campo della teoria degli algoritmi e delle sue applicazioni.
Giorgio Gambosi, professore ordinario presso l’Università Tor Vergata di Roma. Si interessa di algoritmi e strutture dati, con particolare riferimento alle loro applicazioni alle reti e ai sistemi distribuiti.
Roberto Grossi, professore associato presso l’Università degli Studi di Pisa e allenatore della nazionale italiana alle Olimpiadi dell’Informatica. I suoi interessi di didattica e di ricerca sono rivolti agli aspetti teorici e pratici degli algoritmi e delle strutture di dati. |