HOME

Introduzione
alla
Libreria di Algoritmi e Strutture Dati

 

La Libreria di Algoritmi e Strutture Dati nasce allo scopo di fornire un supporto didattico per gli studenti di corsi di "Algoritmi e Strutture Dati" e "Fondamenti di Informatica". I suoi componenti sono le implementazioni in C++ degli pseudocodici del libro Algoritmi e Strutture Dati di Camil Demetrescu, Irene Finocchi e Giuseppe F. Italiano.

 

Caratteristiche

Le caratteristiche principali della Libreria ASD sono le seguenti:

Si noti che la Libreria ASD e' un software open source. Se vuoi contribuire al progetto, oppure hai commenti/suggerimenti, non esitare a contattarci al seguente indirizzo: f.iovine@gmail.com

Hanno gia' contribuito al progetto:

 

Manuale d'uso

E' disponibile un manuale d'uso in formato pdf della Libreria ASD. Tale manuale e' stato scritto da Luca D'Avino con lo scopo di avvicinare lo studente alla comprensione della libreria ASD e piu' in generale alla programmazione in C++. Puoi scaricare il manuale qui.

 

Prerequisiti di utilizzo

La Libreria ASD è scritta in C++ ed è generica, nel senso che quasi tutti i suoi componenti utilizzano parametri template. Per questo motivo, prima di usare la libreria, bisognerebbe aver compreso il funzionamento dei template in C++.

La Libreria ASD utilizza le classi container e gli iteratori della Standard Template Library (STL) come ad esempio vector, list and map. E' necessaria quindi la presenza della STL.

I test sono stati effettuati:

 

Namespace

Ogni algoritmo e struttura dati della libreria di Algoritmi e Strutture Dati è incluso in un namespace di nome asd.

 

I programmi di prova

Nella cartella main sono presenti programmi di prova che consentono di comprendere e verificare il funzionamento di ogni componente della libreria ASD. Alcune funzioni main utilizzano gli esempi del libro, altre operano su tipi personalizzati, altre ancora effettuano un test sulla componente utilizzando un numero elevato di elementi ricavati in modo random.

Nella cartella make è presente un esempio di 'makefile' in ambiente UNIX, in cui è indicato il modo in cui i programmi di prova sono stati compilati. Di seguito viene riportato un esempio di comando di compilazione di un programma di prova, dopo aver posizionato la libreria in 'home'.

g++ -O2 -I $(HOME)/asd_x.y.z/include -o main.o $(HOME)/asd_x.y.z/main/programma_di_prova.cpp

In ambiente WINDOWS, utilizzando ad esempio Dev-C++, è necessario aggiungere la directory 'include' tra le directory da includere. Inoltre, per visualizzare correttamente l'output dei programmi di prova, occorre aggiungere nel main l'istruzione system("pause");

 

Disclaimer

Con la presente libreria non è fornito supporto di nessun tipo. Inoltre si declina ogni responsabilità per eventuali danni arrecati da un uso non corretto del software.