Michael T. Goodrich, Roberto Tamassia, "Strutture dati e algoritmi in Java"
2009 | Italian | ISBN-10: 8808070379 | 640 pages | PDF | 21 MB
2009 | Italian | ISBN-10: 8808070379 | 640 pages | PDF | 21 MB
Questa quarta edizione è nata allo scopo di presentare un'introduzione alle strutture dati e agli algoritmi e, in particolare, al loro progetto, alla loro analisi e alla loro implementazione. Relativamente ai programmi degli insegnamenti di informatica e di ingegneria informatica, questo testo è stato ritagliato fondamentalmente sulle esigenze dei corsi di strutture dati per il livello Freshman-Sophomore. In riferimento ai programmi basati su\VIEEE7ACM 2001 Computing Curriculum, questo libro è indicato per l'adozione nei corsi CS102 (versioni I/O/B), CS103 (versioni I/O/B),
CS111 (versione A) e CS112 (versioni A/I/O/F/H ). Ulteriori indicazioni sull'utilizzo di questo libro per i suddetti corsi si troveranno più avanti nel corso della prefazione.
Le più evidenti modifiche, rispetto alla terza edizione, sono le seguenti:
• Aggiunta di un nuovo capitolo dedicato ad array, linked list e ricorsione.
• Aggiunta di un nuovo capitolo dedicato alla gestione della memoria.
• Integrazione completa con Java 5.0.
• Migliore integrazione con la Collections Framework di Java.
• Miglioramento della trattazione degli iteratori.
• Ampliamento della trattazione delle liste di array, contenente la sostituzione
della classe java.util.vector con la classe java.util.ArrayList.
• Aggiornamento di tutte le API (Application Programming Interface) di Java
che prevedono l'introduzione di tipi generici.
• Semplificazione dei tipi di dati astratti (TDA) lista, albero binario e coda a priorità.
• Ulteriore raffinamento della trattazione matematica delle sette funzioni più utilizzate.
• Ampliamento e revisione della parte esercitativa, che ha raggiunto un totale di 670 esercizi, distribuiti tra livello di base, livello avanzato e progetto. Gli esercizi aggiuntivi comprendono nuovi progetti sulla manutenzione di una lista dei massimi punteggi di un gioco, sulla valutazione di espressioni infisse e suffisse, sull'albero di gioco minimo e massimo, sull'elaborazione degli ordini di acquisto e vendita merci, sullo scheduling della CPU, sulla simulazione rc-body, sul calcolo della distanza delle parti identiche in una sequenza di basi del DNA, sulla creazione e risoluzione di giochi enigmistici.