This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world experiences, the book stresses design and analysis. Coverage is divided into two parts, the first being a general guide to techniques for the design and analysis of computer algorithms. The second is a reference section, which includes a catalog of the 75 most important algorithmic problems. By browsing this catalog, readers can quickly identify what the problem they have encountered is called, what is known about it, and how they should proceed if they need to solve it. This book is ideal for the working professional who uses algorithms on a daily basis and has need for a handy reference. This work can also readily be used in an upper-division course or as a student reference guide. THE ALGORITHM DESIGN MANUAL comes with a CD-ROM that contains: * a complete hypertext version of the full printed book. * the source code and URLs for all cited implementations. * over 30 hours of audio lectures on the design and analysis of algorithms are provided, all keyed to on-line lecture notes.
Il libro del professor Skiena è diviso in due parti.
La prima parte è teorica e tratta gli argomenti classici di un corso introduttivo sugli algoritmi: le nozioni di base sulla complessità, sulle strutture dati, gli algoritmi di ordinamento, gli algoritmi sui grafi, la programmazione dinamica, il backtracking, come trattare i problemi "intrattatabili".
In tutta la prima parte sono presenti le cosiddette "War Story": si tratta di paragrafi discorsivi che mostrano l'autore alle prese con problemi pratici, tipicamente problemi che ha incontrato nella sua attività di consulente.
La seconda parte è un catalogo di 75 problemi tipici, di ogni problema c'è una breve descrizione grafica e testuale, una breve descrizione dei principali algoritmi per risolvere il problema, un riferimento a codice disponibile online ed una sezione bibliografica per approfondimenti.
La prima parte non mi è piaciuta molto, il principale difetto è che le definizioni sono per i miei gusti troppo vaghe e discorsive; gli esempi dettagliati non sono molti e ci sono anche pochissimi disegni.
A me sembra che questa prima parte sia un riassunto molto stringato di quello che il professor Skiena racconta a lezione... non mi sembra molto adatto ad uno studio autonomo.
Le war story sono invece molto interessanti e istruttive.
La parte migliore è il catalogo finale (parzialmente anche online http://www.cs.sunysb.edu/~algorith/ ) che riporta 75 problemi classici che è necessario conoscere anche solo come descrizione.
Il libro contiene errori ma le correzioni sono aggiornate: io stesso ho segnalato qualche giorno fa qualche errore ed il professor Skiena ha aggiornato l'errata. A riguardo esiste una seconda edizione con molti errori corretti, si riconosce dalla dicitura "corrected printing 2012" presente nel colophon ma temo che non sia distinguibile come ISBN da edizioni precedenti.