VII Prefazione
V Suggerimenti per gli insegnanti
XV Ringraziamenti
1 Introduzione
1 Capitolo 1 Introduzione alla risoluzione di problemi mediante computer
3 1.1 La fase di risoluzione
7 1.2 Progettazione Top-Down
14 1.3 Implementazione di algoritmi
20 1.4 Verifica dei programmi
31 1.5 L'efficienza degli algoritmi
35 1.6 L'analisi degli algoritmi
43 Introduzione
43 Capitolo 2 Algoritmi di base
44 Algoritmo 2.1 Scambio dei valori di due variabili
48 Algoritmo 2.2 Conteggio
52 Algoritmo 2.3 Sommatoria di un insieme di numeri
58 Algoritmo 2.4 Calcolo del fattoriale
61 Algoritmo 2.5 Calcolo della funzione seno
66 Algoritmo 2.6 Generazione di una successione di Fibonacci
71 Algoritmo 2.7 Inversione delle cifre di un intero
76 Algoritmo 2.8 Conversione di base
82 Algoritmo 2.9 Conversione da caratteri a numeri
87 Introduzione
87 Capitolo 3 Metodi di fattorizzazione
88 Algoritmo 3.1 Ricerca della radice quadrata di un numero
94 Algoritmo 3.2 Il minimo divisore di un intero
100 Algoritmo 3.3 Il massimo comun divisore di due interi
107 Algoritmo 3.4 Generazione di numeri primi
118 Algoritmo 3.5 Calcolo dei fattori primi di un intero
123 Algoritmo 3.6 Generazione di numeri pseudo-casuali
126 Algoritmo 3.7 Elevamento di un numero a potenza elevata
134 Algoritmo 3.8 Calcolo dell'n-esimo numero di Fibonacci
141 Introduzione
141 Capitolo 4 Tecniche di gestione degli array
142 Algoritmo 4.1 Inversione dell'ordine di un array
146 Algoritmo 4.2 Costruzione di istogrammi mediante array
150 Algoritmo 4.3 Ricerca del valore massimo di un insieme
154 Algoritmo 4.4 Eliminazione dei doppi in un array ordinato
159 Algoritmo 4.5 Partizione di un array
169 Algoritmo 4.6 Ricerca del k-esimo elemento minimo
178 Algoritmo 4.7 Sottosequenza monotóna massima lunghezza
185 Capitolo 5 Fusione, ordinamento e ricerca
185 Introduzione
186 Algoritmo 5.1 Fusione (merge) di due sequenze ordinate
196 Algoritmo 5.2 Ordinamento per selezione
203 Algoritmo 5.3 Ordinamento a bolle
208 Algoritmo 5.4 Ordinamento per inserzione
214 Algoritmo 5.5 Ordinamento con il metodo di Shell
221 Algoritmo 5.6 Ordinamento di Hoare
231 Algoritmo 5.7 Ricerca binaria
241 Algoritmo 5.8 Ricerca calcolata (hash)
253 Introduzione
253 Capitolo 6 Trattamento di testi e ricerca di configurazioni
254 Algoritmo 6.1 Determinazione della lunghezza di una linea di testo
261 Algoritmo 6.2 Allineamento dei margini di un testo
272 Algoritmo 6.3 Ricerca di parole chiave in un testo
278 Algoritmo 6.4 Editing di una linea di testo
287 Algoritmo 6.5 Ricerca lineare di un elemento
298 Algoritmo 6.6 Ricerca sub-lineare di elementi
309 Capitolo 7 Algoritmi per strutture dinamiche di dati
309 Introduzione
311 Algoritmo 7.1 Operazioni sulle pile (stack)
319 Algoritmo 7.2 Aggiunte e cancellazioni in una coda
331 Algoritmo 7.3 Ricerca di una lista
337 Algoritmo 7.4 Inserimento e cancellazione da un alista ordinata
347 Algoritmo 7.5 Ricerca in un albero binario
354 Algoritmo 7.6 Inserimento e cancellazione in un albero binario
371 Capitolo 8 Algoritmi ricorsivi
371 Introduzione
377 Algoritmo 8.1 Visita di un albero binario
387 Algoritmo 8.2 Quicksort ricorsivo
395 Algoritmo 8.3 Problema delle Torri di Hanoi
407 Algoritmo 8.4 Generazioni di campioni
417 Algoritmo 8.5 Generazione di combinazioni
426 Algoritmo 8.6 Generazione di permutazioni
1900
1900
2000
2000
1950
2050
Dromey, R. Geoff ( - )
Dromey, R. Geoff ( - )
Dromey, R. Geoff
Salina, Alberto ( - )
Salina, Alberto ( - )
Salina, Alberto
Bernasconi, Emiliano ( - )
Bernasconi, Emiliano ( - )
Bernasconi, Emiliano
Teruzzi, Silvano ( - )
Teruzzi, Silvano ( - )
Teruzzi, Silvano
Rotolito, ( - )
Rotolito, ( - )
Rotolito,
1890.12
4519.0115
1990.12