| 0.01 | | [collana] |
| 0.03 | | [frontespizio] |
| 0.04 | | [colophon] |
| 0.05 | | [presentazione] [ di Giovanni, Prof. Degli Antoni ] |
| 0.06 | | [dedica] |
| 0.07 | | Indice |
| 0.10 | | Prefazione [ di Niklaus Wirth ] |
| 0.15 | | [esergo] |
| 0.15 | | __ |
| 0.16 | | ____ |
| | | {titolo} |
| 1 | 1. | Strutture dati fondamentali |
| 1 | 1.1. | Introduzione |
| 3 | 1.2. | Il concetto di tipo di dato |
| 6 | 1.3. | Tipi di dati primitivi |
| 6 | 1.4. | Tipi primitivi predefiniti |
| 7 | 1.5. | Tipi di sottocampo |
| 11 | 1.6. | La struttura array |
| 15 | 1.7. | La struttura record |
| 19 | 1.8. | Strutture record con varianti |
| 22 | 1.9. | La struttura insieme |
| 28 | 1.10. | Rappresentazione di strutture per array, record ed insiemi |
| 29 | 1.10.1. | Rappresentazione di array |
| 31 | 1.10.2. | Rappresentazione delle strutture record |
| 32 | 1.10.3. | Rappresentazione di insiemi |
| 33 | 1.11. | La struttura file sequenziale |
| 36 | 1.11.1. | Operatori elementari per file |
| 38 | 1.11.2. | File con sottostruttura |
| 40 | 1.11.3. | Testi |
| 48 | 1.11.4. | Un programma per redirigere file |
| 55 | 2. | Ordinamenti |
| 55 | 2.1. | Introduzione |
| 57 | 2.2. | Ordinamento e array |
| 58 | 2.2.1. | Ordinamento per inserimento diretto |
| 61 | 2.2.2. | Ordinamento per selezione diretta |
| 63 | 2.2.3. | Ordinamento per scambio diretto |
| 66 | 2.2.4. | Ordinamento per inserimento con incremento decrescente |
| 68 | 2.2.5. | Ordinamento con albero |
| 74 | 2.2.6. | Ordinamento per partizione |
| 80 | 2.2.7. | Determinazione della mediana |
| 82 | 2.2.8. | Confronto tra i metodi di ordinamento per array |
| 85 | 2.3. | Ordinamento di file sequenziali |
| 85 | 2.3.1. | Fusione diretta |
| 90 | 2.3.2. | Fusione naturale |
| 97 | 2.3.3. | Fusione multidirezionale bilanciata |
| 102 | 2.3.4. | Ordinamento polifase |
| 114 | 2.3.5. | Distribuzione delle serie iniziali |
| 123 | 3. | Algoritmi ricorsivi |
| 123 | 3.1. | Introduzione |
| 125 | 3.2. | Quando non usare la ricorsione |
| 128 | 3.3. | Due esempi di programmi ricorsivi |
| 135 | 3.4. | Algoritmi di backtracking |
| 141 | 3.5. | Il problema delle otto regine |
| 146 | 3.6. | Il problema del matrimonio stabile |
| 152 | 3.7. | Il problema della scelta ottima |
| 160 | 4. | Strutture informative dinamiche |
| 160 | 4.1. | Tipi di dati ricorsivi |
| 163 | 4.2. | Puntatori o riferimenti |
| 169 | 4.3. | Liste lineari |
| 169 | 4.3.1. | Operazioni fondamentali |
| 173 | 4.3.2. | Liste ordinate e liste riorganizzanti |
| 180 | 4.3.3. | Un'applicazione: ordinamento topologico |
| 187 | 4.4. | Strutture ad albero |
| 187 | 4.4.1. | Concetti fondamentali e definizioni |
| 196 | 4.4.2. | Operazioni fondamentali sugli alberi binari |
| 199 | 4.4.3. | Ricerca ed inserimento per alberi |
| 208 | 4.4.4. | Rimozione per alberi |
| 209 | 4.4.5. | Analisi della ricerca ed inserimento per alberi |
| 213 | 4.4.6. | Alberi billanciati |
| 214 | 4.4.7. | Inserimento in alberi bilanciati |
| 220 | 4.4.8. | Rimozione per alberi bilanciati |
| 224 | 4.4.9. | Alberi ottimi di ricerca |
| 230 | 4.4.10. | Rappresentazione di strutture arboree |
| 240 | 4.5. | Alberi generali |
| 243 | 4.5.1. | Alberi B |
| 255 | 4.5.2. | Alberi B binari |
| 263 | 4.6. | Trasformazioni di chiavi (hashing) |
| 264 | 4.6.1. | Scelta della funzione di trasformazione |
| 265 | 4.6.2. | Gestione delle collisioni |
| 270 | 4.6.3. | Analisi del metodo di trasformazione delle chiavi |
| 278 | 5. | Strutture del linguaggio e compilatori |
| 278 | 5.1. | Definizione e struttura di un linguaggio |
| 281 | 5.2. | Analisi della fase |
| 285 | 5.3. | Costruzione di grafi sintattici |
| 289 | 5.4. | Costruzione di un riconoscitore per una grammatica |
| 293 | 5.5. | Costruzione di un riconoscitore guidato da una tabella |
| 296 | 5.6. | Un traduttore dal simbolismo BNF a strtture dati per il riconoscimento |
| 304 | 5.7. | Il linguaggio di programmazione PL/0 |
| 308 | 5.8. | Un analizzatore sintattico per il linguaggio PL/0 |
| 317 | 5.9. | Trattamento degli errori sintattici |
| 327 | 5.10. | Un processore PL/0 |
| 330 | 5.11. | Generatore di codice |
| | | [Appendici] |
| 347 | A - | L'insieme dei caratteri ASCII |
| 348 | B - | Diagrammi sintattici del linguaggio Pascal |
| 355 | | Indice analitico |
| 359 | | Indice dei programmi |
| 360 | | _ |
| 360 | | ___ |