a Quer.
Dea E1 dititt di elaborazione, di traduzione o V'adattamento
anche parziale in qualsiasi forma, di memorizzazione
anche digitale, su supporti di qualsiasi tipo, di
‘iproduzione e di adattamento totale o parziale con
‘qualsiasi mezzo (compresi i microfilm ¢ le copie
{fotostatiche) sono riservati per tuti i Paesi
Fotocopie per uso personale (cio8 provato ed
individuale) nei limiti del 15% di ciascun volume
possono essere effettuate negli esercizi che aderiscono
all'accordo S.LA.E. - SNS. ¢ CN.A. Confatigianato,
CAS.A., Confoommercio del 18 Dicembre 2000, dietro
ppagamento del compenso previsto per tale accordo,
conformemente alla legge n. 633 del 23.04.1941
Per riproduzioni ad uso non personale I’Editore potra
concedere @ pagamento l’autorizzazione a riprodurre un
‘numero di pagine non superiore al 15% delle pagine del
presente volume. Le tichieste pet tale tipo di riproduzione
‘anno inoltrate esclusivamente
all inditizzo dell Editore.
La messa a punto di un libro & un’ operazione
complessa ed articolata, che necessita di studi,
progettualita grafica, nonché di numerosi controli di
testo, immagine, still grafici e di stampa. E”
praticamente impossible pubblicare un libro scevro da
errori. La C.L.U.7, ringrazia sin d’ora i lettori che
vorranno segnalare all’indirizzo dell Editore eventuali
cervoririscontrati nella lettura del libro,
L'eventuale errata corrige aggiornata del presente
Volume & disponibile on-line all'indivizzo:
htp:/iwww.clut.it nella pagina dedicata al libro,
Ideazione e disegno copertina a cura di Andrea Ruffino
© 2013 CULT, Bditrice
Propricta letteraria riservata
‘Stampato in Italia da STAMPATRE ~ Torino
Copyright C.L.U.T — Torino ~ Settembre 2013,
ISBN 978-88-7992-346-0
Edizioni C.L.U.T.— Torino
Corso Duca degli Abruzzi 24 ~ 10129 Torino
tel. 011 090 79 80 -tel. © fax O11 54 21 92
email:
[email protected] - www.clutit
Presentazione
Questa pubblicazione raccoglie, organizza e risolve numerosi esercizi di teoria che
coprono gli argomenti trattati nel Corso di “Algoritini e programmazione”.
Ogni capitolo del volume @ strutturato come segue:
richiami dei fondamenti teorici
svolgimento completo di almeno un esercizio significativo per argomento
esercizi con soluzione, ma senza procedimento
proposta di esercizi non risolti, che si pensa costituiscano un utile stimolo al lavoro
individuale.
vow
La suddivisione in capitoli segue lo schema successivo.
> Capitolo 1: algoritmi iterativi di ordinamento interno
> Capitolo 2: algoritmi ricorsivi di ordinamento interno
> Capitolo 3: analisi della complessita mediante le equazioni alle ricorrenze
> Capitolo 4: heap, heap sort. e code a priorita
> Capitolo 5: alberi binari
> Capitolo 6: alberi binari di ricerca e loro estensioni
> Capitolo 7: tabelle di hash
> Capitolo 8: risoluzione dei problemi con il paradigma greedy
> Capitolo 9: visite dei grafi e loro applicazioni
> Capitolo 10: alberi ricoprenti minimi
> Capitolo 11: camimini minimi da una singola sorgente
> Capitolo 12: temi d’esame di teoria risolti.
Iprimi undici capitol, quindi, presentano tutti argomenti specifici, suddivisi in maniera
opportuna, riassumendone gli aspetti teorici e riportandone numerosi esercizi. Il capito-
lo dodici invece include tutti gli argomenti analizzati nei capitoli precedenti, includendo
ogni tipologia di esercizio in maniera ortogonale, cosi come accade abitualmente nei
temi d’esame del corso di “Algoritmi e programmazione” del Politecnico di Torino.
Argomenti e esercizi, sono stati selezionati in base alla hunga esperienza degli au-
tori, da anni coinvolti in corsi di programmazione, algoritmi e strutture dati di base e
vML Presentazione
avanzati,
Chiunque rintracciasse errori sfuggiti agli autori é pregato di segnalarlo per posta
elettronica agli autori stessi, utilizzando i seguenti inditizzi:
paolo.camuratié@polito.it
stefano.querépolito. it
Indice
1 Algoritmi iterativi di ordinamento interno
1.1 Insertion sort... . ee
1.1.1 Richiami di teoria
1.1.2 Esercizi svolti .
1.1.3 Esercizi proposti
1.2 Exchange sort (0 8veeut.soet). .
1.2.1 Richiami di teoria
1.2.2 Bsercizi svolti
1.2.3 Bsercizi propos
1.3 Selection sort ..... :
1.3.1 Richiami di teoria .
1.3.2 Esercizi svolti
1.3.3. Esercizi proposti .
14 Shell sort a |
1.4.1 Richiami di teoria
14.2 Esercizi svolti. . ..
1.4.3 _ Esercizi proposti .
1.5 Counting sort... 6.
1.5.1 Richiami di teoria .
15.2 Esercizi svolti
15.3 Esetcizi risolti.........
1.5.4 Esercizi proposti......+.....04+
2 Algoritmi ricorsivi di or
21 Merge sort.......- :
2.1.1 Richiami di teoria. .
2.1.2 Esercizi svolti...
2.1.3. Esereizi proposti
2.2 Quick sort . pecan
2.2.1 Richiami di teoria .
2.2.2 Esercizi svolti .
vu
BScommanacnneeewonene
Saag