Lo studio delle strutture dati è stato da sempre identificato come argomento chiave nell’insegnamento dell’informatica. Tale ruolo centrale è pienamente giustificato, vista l’importanza che riveste l’efficienza di strutture dati e algoritmi nella gran parte dei sistemi informatici: dal Web ai sistemi operativi, dalle basi di dati ai sistemi di simulazione in vari ambiti scientifici. Questo libro, giunto alla sesta edizione inglese ?e considerato un autorevole punto di riferimento ?a livello internazionale, è stato progettato per essere ?di ausilio in un corso introduttivo di Algoritmi ?e strutture dati. Il percorso didattico parte dalle basi della programmazione in Java e della progettazione orientata agli oggetti, per proseguire con la presentazione di alcune strutture dati concrete, come gli array e le liste concatenate, e delle tecniche di base, come l’analisi degli algoritmi e la ricorsione; nella parte centrale del libro si procede a illustrare le strutture dati e gli algoritmi fondamentali, per concludere con una discussione relativa alla gestione della memoria.
Capitolo 1 – Introduzione a Java Capitolo 2 – Progettazione orientata agli oggetti Capitolo 3 – Strutture dati fondamentali Capitolo 4 – Analisi di algoritmi Capitolo 5 – Ricorsione Capitolo 6 – Pile, code e code doppie Capitolo 7 – Liste e iteratori Capitolo 8 – Alberi Capitolo 9 – Code prioritarie Capitolo 10 – Mappe, tabelle hash e skip list Capitolo 11 – Alberi di ricerca Capitolo 12 – Ordinamento e selezione Capitolo 13 – Elaborazione di testi Capitolo 14 – Algoritmi per grafi Capitolo 15 – Gestione della memoria e B-alberi Appendice – Proprietà matematiche utili