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