Algoritmi di ordinamento e ricerca

di Tom Niemann
traduzione italiana di Gianluca Nani

Questa è una raccolta di algoritmi di ordinamento e ricerca. Le descrizioni sono brevi e intuitive, con dentro quel tanto di teoria che basta per rendervi nervosi. Si assume la conoscenza di un linguaggio di alto livello, come il C, nonché la famigliarità con alcuni concetti di programmazione, come gli array e i puntatori.

La prima sezione introduce le strutture dati di base, e le notazioni associate. Nella sezione successiva vengono trattati diversi algoritmi di ordinamento. A questa segue una terza sezione dedicata ai dizionari, ovvero strutture dati che consentono di effettuare efficienti operazioni di inserimento, ricerca ed eliminazione. L’ultima sezione descrive algoritmi che ordinano dati e implementano dizionari per file di grosse dimensioni. E’ disponibile il codice sorgente di ogni algoritmo, in ANSI-C.

Per la maggior parte degli algoritmi è presente anche la codifica in Visual Basic. Se programmate in Visual Basic, vi raccomando la lettura di Visual Basic Collections and Hash Tables [in inglese], dove troverete una spiegazione sulle tecniche di hashing e di rappresentazione dei nodi.

E’ consentito riprodurre parti di questo documento, a condizione che venga citato l’indirizzo del sito web riportato sotto; non vi sono ulteriori condizioni. Il codice sorgente, se parte di un progetto software, può essere utilizzato liberamente, senza citare l’autore.

Tom Niemann
Portland, Oregon
epaperpress.com