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