HOME

Strutture Dati

Questa sezione della documentazione della libreria ASD si occupa delle Strutture Dati.

Strutture Dati

Nome

Figura
Descrizione


 
Pila<Elem>
3.6
Il tipo di dato Pila.
Coda<Elem>
3.7
Il tipo di dato Coda.
Matrice<T>
/
Matrice come vector di vectors.


 

Albero

3.10

Possibili dati e operazioni su alberi

Albero<Chiave>
3.10
Rappresentazione collegata di albero, basata su liste di figli.
Albero_pffs<Chiave>
3.10
Rappresentazione collegata di albero, basata su puntatori al primo figlio ed al fratello successivo.
AlberoBinario<Chiave>
3.10
Rappresentazione collegata di albero binario, basata su puntatori ai figli.
AlberoBinario_vettpos<Chiave>
3.10
Rappresentazione indicizzata di albero binario, basata su vettore posizionale.
AlberoNonRadicato<Chiave>
3.10
Rappresentazione di un albero non radicato con liste di adiacenza.


 

Dizionario

3.1, 
6.1

Il tipo di dato astratto Dizionario.

ArrayOrdinato<Elem, Chiave>
3.2
Realizzazione di un dizionario mediante un array ordinato.
ArrayDoubling<Elem, Chiave>
3.3
Realizzazione di un dizionario mediante un array non ordinato, utilizzando la tecnica del raddoppiamento-dimezzamento (doubling-halving).
StrutturaCollegata<Elem, Chiave>
3.5
Realizzazione di un dizionario mediante una struttura circolare doppiamente collegata.
AlberoBinarioDiRicerca<Elem, Chiave>
6.3, 
6.4,
6.5,
6.6
Realizzazione di un dizionario mediante un albero binario di ricerca, implementato con una rappresentazione collegata basata su puntatori ai figli.
AlberoAVL<Elem, Chiave>
6.10, 
6.11,
6.12,
6.13,
6.14,
6.15
Dizionario AlberoAVL come estensione della classe AlberoBinarioDiRicerca di figura 6.3.
TavolaAccessoDiretto<Elem>
7.1
Realizzazione di un dizionario mediante una tavola ad accesso diretto.
TavolaHashPerfetta<Elem, Chiave>
7.2
Realizzazione di un dizionario mediante una tavola hash perfetta.
TavolaHashListeColl<Elem, Chiave>
7.4
Realizzazione di un dizionario mediante una tavola hash con liste di collisione.
TavolaHashAperta<Elem, Chiave>
7.6
Realizzazione di un dizionario mediante una tavola hash aperta.


 

CodaPriorita

8.1

Il tipo di dato astratto CodaPriorita

BinaryHeap<Elem, Chiave>
4.8, 
4.10
Un heap binario con struttura rafforzata realizzato mediante rappresentazione indicizzata basata su vettore posizionale.
DHeap<Elem, Chiave>
8.3, 
8.4
Un DHeap con struttura rafforzata realizzato mediante rappresentazione indicizzata basata su vettore posizionale.
HeapBinomiale<Elem, Chiave>
8.6, 
8.7
Realizzazione di una coda di priorita' mediante un heap binomiale, implementato con una rappresentazione collegata basata su liste di figli.
HeapBinomialeRilassato<Elem, Chiave>
8.8
Realizzazione di una coda di priorita' mediante un heap binomiale rilassato, implementato con una rappresentazione collegata basata su liste di figli.
HeapFibonacci<Elem, Chiave>
8.10, 
8.11
Realizzazione di una coda di priorita' mediante un heap di Fibonacci,  implementato con una rappresentazione collegata basata su liste di figli.


 

UnionFind

9.2

Il tipo di dato astratto UnionFind.

QuickFind<Elem>
9.3
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickFind.
QuickUnion<Elem>
9.5
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickUnion.
QuickFindBilanciato<Elem>
9.8
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickFind bilanciati.
QuickUnionBilanciato<Elem>
9.10
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickUnion bilanciati in altezza.
9.13(b)
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickUnion bilanciati in altezza, applicando path compression.
9.13(c)
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickUnion bilanciati in altezza, applicando path splitting .
9.13(d)
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickUnion bilanciati in altezza, applicando path halving .
QuickUnionBilanciatoSize<Elem>
9.12
Realizzazione delle operazioni makeSet, union e find mediante alberi QuickUnion bilanciati in cardinalita'.
     

Grafo

11.2

Il tipo di dato astratto Grafo.

GrafoNonOrientato_ListaArchi
11.3(b)
Rappresentazione di un grafo non orientato con lista di archi.
GrafoNonOrientato_ListeAdiacenza
11.3(c)
Rappresentazione di un grafo non orientato con liste di adiacenza.
GrafoNonOrientato_ListeIncidenza
11.3(d)
Rappresentazione di un grafo non orientato con liste di incidenza.
GrafoNonOrientato_MatriceAdiacenza
11.3(e)
Rappresentazione di un grafo non orientato con matrice di adiacenza.
GrafoNonOrientato_MatriceIncidenza
11.3(f)
Rappresentazione di un grafo non orientato con matrice di incidenza.
GrafoOrientato_ListaArchi
11.4(b)
Rappresentazione di un grafo orientato con lista di archi.
GrafoOrientato_ListeAdiacenza
11.4(c)
Rappresentazione di un grafo orientato con liste di adiacenza.
GrafoOrientato_ListeIncidenza
11.4(d)
Rappresentazione di un grafo orientato con liste di incidenza.
GrafoOrientato_MatriceAdiacenza
11.4(e)
Rappresentazione di un grafo orientato con matrice di adiacenza.
GrafoOrientato_MatriceIncidenza
11.4(f)
Rappresentazione di un grafo orientato con matrice di incidenza.