Algoritmi e strutture dati


In questa sezione sono presenti le mie realizzazioni delle strutture dati che ho utilizzato per l'esame di algoritmi e strutture dati. Non sono perfette ma spero che possano essere comunque utili a qualcuno.
In particolare, sono più ricche delle strutture che vengono tradizionalmente proporte sui libri, ho aggiunto degli operatori che ritenevo utili. Inoltre ho utilizzato i template per facilitarne l'utilizzo, e le eccezioni, per rendere più veloce il debugging. Alcuni operatori pur avendo nomi uguali a quelli delle strutture "tradizionali", lavorano in maniera leggermente diversa. Ho seguito il mio istinto e il mio gusto personale nel realizzarle:-)

Il codice delle strutture è stato testato esclusivamente su Dev-C++.

Indice

1 Lista
1.1 Realizzazione bidirezionale con puntatori - sorgenti

2 Pila
2.1 Realizzazione con vettore - sorgenti
2.2 Realizzazione con puntatori - sorgenti

3 Coda
3.1 Realizzazione con puntatori - sorgenti

4 Insieme
4.1 Realizzazione con lista - sorgenti

5 Dizionario
5.1 Hash chiuso - sorgenti
5.2 Liste di trabocco - sorgenti

6 Albero binario

7 Coda con priorità

8 Albero n-ario

9 Grafo