V
- etichette dei nodiE
- etichette degli archipublic interface GraphEdge<V,E>
V
e gli archi sono etichettati
con oggetti della classe E
. Le interfacce GraphNode<V>
e
Graph<V,E>
definiscono le operazioni generiche sui nodi e sul grafo,
rispettivamente.
Un arco può essere diretto o non diretto, tale informazione è immutabile e
disponibile tramite il metodo isDirected()
. I due nodi collegati
dall'arco sono immutabili e devono essere non nulli. L'etichetta dell'arco è
opzionale e può quindi essere nulla.
All'arco può essere associato un peso tramite i metodi
setWeight(double
e getWeight()
. Il peso, se non specificato
nel costruttore, è inizializzato automaticamente a Double.NaN
.
Due archi sono uguali se e solo se collegano gli stessi nodi, hanno la stessa
etichetta, lo stesso peso e sono entrambi diretti o entrambi non diretti. Nel
caso di archi non diretti l'ordine dei nodi non conta, cioè un arco tra
n1
ed n2
e un arco tra n2
ed n1
sono lo
stesso arco se hanno la stessa etichetta e lo stesso peso, oltre ad essere
entrambi non diretti.Modifier and Type | Method and Description |
---|---|
E |
getLabel()
Restituisce l'etichetta di questo arco.
|
GraphNode<V> |
getNode1()
Restituisce il primo nodo di questo arco, la sorgente in caso di arco
diretto.
|
GraphNode<V> |
getNode2()
Restituisce il secondo nodo di questo arco, la destinazione in caso di
arco diretto.
|
double |
getWeight()
Restituisce il peso assegnato all'arco, zero di default.
|
boolean |
isDirected()
Indica se questo arco è diretto o no.
|
void |
setLabel(E label)
Assegna all'arco una certa etichetta.
|
void |
setWeight(double weight)
Assegna un certo peso a questo arco.
|
GraphNode<V> getNode1()
GraphNode<V> getNode2()
E getLabel()
void setLabel(E label)
label
- l'etichetta da assegnare.boolean isDirected()
double getWeight()
void setWeight(double weight)
weight
- il peso da assegnare a questo arco