|
|
Introduzione Agli Algoritmi E Strutture Dati
Introduzione agli algoritmi e strutture dati
Recensione di: NicolaBulla Il libro è la traduzione italiana di "Introduction to Algorithms (Second Editing)", MIT Press TargetGli autori indicano come il testo sia stato ideato quale supporto per corsi universitari o di specializzazione in algoritmi e strutture dati; inoltre anche quale supporto da consultare per professionisti ed esperti informatici.Organizzazione dei ContenutiSi parte con una breve introduzione in cui viene illustrato lÂ’argomento "algoritmi", si prosegue con un semplice esempio di algoritmo di ordinamento, lÂ’insertion sort, che rispecchia il metodo di ordinamento applicato intuitivamente dallÂ’uomo, per proseguire con algoritmi di ordinamento e di altro genere via via più complessi ed altrettanto convenienti quando si lavora con grandi numeri. Si parla di analisi del tasso di crescita del tempo di esecuzione di un algoritmo e di efficienza, con riferimenti allÂ’uso delle ricorrenze, con suggerimenti, tecniche e molto altro per ben 35 capitoli. In ogni capitolo si espone un argomento completo, il docente può quindi costruire il proprio corso come meglio crede pescando i capitoli con i temi che vuole trattare. Ovviamente il testo è organizzato in modo da illustrare gli argomenti di minor complessità nei capitoli iniziali e procedere in complessità man mano che si avanza nella lettura. AllÂ’interno della trattazione di ogni argomento sono comunque presenti dei richiami per consentire allo studente di recuperare le nozioni relative ai prerequisiti, eventualmente necessari per una completa comprensione, nel caso queste fossero esposte nei capitoli trascurati. Al professionista che volesse effettuare una consultazione rapida sarà sufficiente scorrere sul sommario per trovare tutte le informazioni di cui necessita, rimarchiamo ulteriormente che ogni argomento è ben esposto nella sua completezza allÂ’interno di un unico capitolo.Leggibilità/comprensibilitàIl testo appare di semplice lettura, stiamo trattando algoritmi che devono essere capiti quindi semplice non è sinonimo di “veloce” o “superficiale”, il testo è ben scritto e comprensibile, ma deve essere letto con molta attenzione, naturalmente il rigore matematico è dÂ’obbligo quindi nei cosiddetti “punti chiave” si fatica un poÂ’. Sono presenti numerosi esercizi di riepilogo a fine paragrafo e problemi a fine capitolo, sono presenti anche quegli esercizi tanto odiati dagli studenti che ti fanno pensare: “ma dove lÂ’hanno spiegata ‘sta roba?”, che ti costringono a rileggere più attentamente il paragrafo, soprattutto durante quelle estenuanti maratone di studio cui si è soliti sottoporsi allÂ’approssimarsi della data dellÂ’esameÂ… Delle buone illustrazioni contribuiscono a dissolvere i pochi dubbi eventualmente lasciati da una descrizione precisa e concisa, gli argomenti sono spiegati con chiarezza, il che è un pregio per un libro tradotto da unÂ’altra lingua, quindi complimenti agli autori ma anche ai traduttori.CompletezzaIl libro presenta una gran varietà di materiale che va ben oltre il “necessario”, il che lo rende estremamente ricco e appetibile, di ogni algoritmo trattato sono presenti i pseudocodici.ConclusioniMi ritengo particolarmente soddisfatto dalla lettura di Introduzione agli algoritmi e strutture dati lo ritengo un ottimo testo, per cui nella mia valutazione gli attribuisco il punteggio massimo. Lo consiglio vivamente a chi ha intenzione di dedicarsi seriamente, per lavoro o per passione, allo studio dell'argomento trattato.INDICEIndicePrefazione Presentazione dellÂ’edizione italiana I Fondamenti Introduzione 1 Ruolo degli algoritmi nellÂ’elaborazione dei dati 2 Per incominciare 3 Crescita delle funzioni 4 Ricorrenze 5 Analisi probabilistica e algoritmi randomizzati II Ordinamento e statistiche dÂ’ordine Introduzione 6 Heapsort 7 Quicksort 8 Ordinamento in tempo lineare 9 Mediane e statistiche dÂ’ordine III Strutture dati Introduzione 10 Strutture dati elementari 11 Hashing 12 Alberi binari di ricerca 13 Alberi rosso-neri 14 Aumentare le strutture dati IV Tecniche avanzate di progettazione e di analisi Introduzione 15 Programmazione dinamica 16 Algoritmi golosi 17 Analisi ammortizzata V Strutture dati avanzate Introduzione 18 B-alberi 19 Heap binomiali 20 Heap di Fibonacci 21 Strutture dati per insiemi disgiunti VI Algoritmi per grafi Introduzione 22 Algoritmi elementari per grafi 23 Alberi di connessione minimi 24 Cammini minimi da sorgente unica 25 Cammini minimi fra tutte le coppie 26 Flusso massimo VII Argomenti scelti Introduzione 27 Reti di ordinamento 28 Operazioni con le matrici 29 Programmazione lineare 30 Polinomi e FFT 31 Algoritmi di teoria dei numeri 32 String matching 33 Geometria computazionale 34 NP-Completezza 35 Algoritmi di approssimazione VIII Appendici: prerequisiti matematici Introduzione A Sommatorie B Insiemi e altro C Calcolo combinatorio e delle probabilità IntroduzioneAgliAlgoritmiEStruttureDati is mentioned on: News | StartingPoints_En |