Dr. Carlo Pescio
Recensione: Data Structures and Algorithms


Scheda Libro
Autore: Aho, Hopcroft, Ullman Titolo: Data Structures and Algorithms
Editore: Addison-Wesley ISBN: 0-201-00023-7
Lingua: Inglese Anno: 1985 Pagine: 430 circa Allegati: nessuno

Commenti
Si tratta di uno dei testi migliori che abbia mai letto nell’ampia bibliografia sugli algoritmi; scritto da tre professori universitari americani, autori di numerosi altri testi sull’argomento ed indiscussi esperti del campo (ad uno degli autori dobbiamo la ‘A’ nel nome degli "alberi AVL"), il libro abbraccia quasi tutti gli algoritmi e le strutture dati di uso comune, ed anche alcuni argomenti avanzati.
Il rigore nell’esposizione lo rende adatto a lettori abbastanza maturi, che non si spaventino di fronte ad un minimo di formalismo matematico: si tratta pertanto di un ottimo testo per un corso universitario sugli algoritmi. In ogni caso, è un libro utile anche per il professionista, purché sia disposto a dedicare il giusto tempo alla lettura ed all’assimilazione dei contenuti.

Pro
Si tratta di un testo estremamente completo, pur senza cadere nel monumentale. L’approccio è piuttosto formale, ma esistono sezioni di adeguata lunghezza che introducono il lettore ai fondamenti del calcolo della complessità spaziale e temporale; gli algoritmi vengono presentati con uno pseudocodice molto leggibile, lasciando al lettore l’implementazione in un linguaggio di programmazione concreto. Il testo copre la maggior parte degli algoritmi e strutture dati di uso comune, dagli insiemi agli alberi, alle hash tables, ai grafi, sino alla gestione della memoria dinamica. In assoluto, se potete acquistare un solo libro sugli algoritmi, questo è il libro da scegliere.

Contro
La discussione dei metodi di analisi degli algoritmi, nonché della progettazione degli stessi, è piuttosto sintetica e richiede un certo lavoro da parte del lettore. D’altra parte, il testo si propone di spiegare gli algoritmi esistenti, più che di insegnare al lettore come idearne dei nuovi.
I numerosi esercizi sarebbero più utili se accompagnati (come nei testi di Knuth) da spunti per la soluzione o rimandi a testi ed articoli dove i problemi stessi sono stati risolti; inoltre, molti degli argomenti vengono proposti senza spiegare sufficientemente quali siano le possibili applicazioni di una struttura dati o di un algoritmo, lasciando al lettore la responsabilità della scelta.
L’approccio formale, pur se contenuto, potrebbe essere un elemento deterrente per i lettori meno preparati; in ogni caso, una corretta comprensione degli algoritmi non può prescindere da una certa conoscenza degli strumenti matematici essenziali.