Class Graph<TN,TA>
- java.lang.Object
-
- Graph<TN,TA>
-
public class Graph<TN,TA> extends java.lang.ObjectGraph e' la rappresentazine di un grafo pesato- Version:
- 2.1 20/12/12 eliminato spazi dai nomi dei nodi eliminato eventuali duplicazione di nomi dei nodi 21/12/13 aggiunta la creazione e tramite coppie di nodi 12/2/2016 aggiunta la linearizzazione dei grafi aciclici 21/11/2018 corretto l'inizializzazione con coppie senza pesi
-
-
Constructor Summary
Constructors Constructor Description Graph()crea un Graph vuotoGraph(java.io.BufferedReader br)Crea un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati.Graph(java.io.BufferedReader br, Graph<TN,TA> og)Crea un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati.Graph(java.io.Reader r)Crea un Graph prelevando da un Reader la descrizione di un grafo in due formati.Graph(java.io.Reader r, Graph<TN,TA> og)Crea un Graph prelevando da un Reader la descrizione di un grafo in due formati.Graph(java.lang.String[][] couples)crea un Graph partendo dall’elenco delle coppie di nodi unite da un arco.Graph(java.lang.String[][] couples, double[] prices)crea un Graph partendo dall’elenco delle coppie di nodi unite da un arco.Graph(java.lang.String[] name, int[][] matAd)crea un Graph fornendo la matrice di adiacenza del grafo e la matrice contente i nomi dei nodiGraph(java.lang.String[] name, int[][] matAd, double[][][] p)crea un Graph fornendo la matrice di adiacenza del grafo pesato, la matrice dei pesi degli archi e la matrice contente i nomi dei nodi
-
Method Summary
Modifier and Type Method Description Arc<TN,TA>addArc(Arc<TN,TA> arc)Aggiunge un arco al grafoArc<TN,TA>addArc(java.lang.String sorg, java.lang.String dest)Aggiunge un arco al grafoArc<TN,TA>addArc(java.lang.String sorg, java.lang.String dest, double price)Aggiunge un arco al grafo.Arc<TN,TA>addArc(Node<TN> sorg, Node<TN> dest)Aggiunge un arco al grafoArc<TN,TA>addArc(Node<TN> sorg, Node<TN> dest, double price)Aggiunge un arco al grafo con un certo prezzobooleanaddNode(java.lang.String name)Aggiunge un nodo al grafoMatrixadjacency()Ritorna la matrice di adiacenza del grafobooleanconnected(java.lang.String[] path)Dice se il percorso costituito dalla sequenza di nodi indicati esisteMatrixconnections()Ritorna la matrice dei collegamenti del grafobooleancoordOk(int i, int j)Controlla se i due indici dei nodi sono validi per il grafodoublecosts(java.lang.String[] path)Calcola il costo di un percorso costituito dalla sequenza di nodi indicati, se esisteintdegree()Ritorna l'ordine del grafointfindNode(java.lang.String nn)Ritorna l'indice di un nodo del grafo dato il nomeintfindNode(Node<TN> node)Ritorna l'indice di un nodo del grafoArc<TN,TA>getArc(int i, int j)Ritorna l'arco compreso da due nodiArc<TN,TA>getArc(java.lang.String from, java.lang.String to)Ritorna l'arco compreso da due nodiNode<TN>getNode(int i)Ritorna il nodo dato l'indiceNode<TN>getNode(java.lang.String name)Ritorna il nodo dato il nomejava.lang.String[]getNodes()Ritorna la matrice dei nodibooleanisConnected(java.lang.String from, java.lang.String to)Dice se due nodi sono connessibooleanlinearise()Linearizza il grafo (Bisogna ancora risolvere la linearizzazione di piu' di due passi)voidload(java.io.BufferedReader br)Carica un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati.voidload(java.io.BufferedReader br, Graph<TN,TA> og)Carica un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati.voidload(java.io.Reader r)Carica un Graph prelevando da un Reader la descrizione di un grafo in due formati.voidload(java.io.Reader r, Graph<TN,TA> og)Carica un Graph prelevando da un Reader la descrizione di un grafo in due formati.java.lang.String[]longestPath(java.lang.String from)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino col maggiore numero di passi di costo inferiore da un nodojava.lang.String[]longestShortPath(java.lang.String from)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino di costo inferiore col maggiore numero di passi senza cicli da un nodostatic voidmain(java.lang.String[] ar)Applicazione di prova.java.lang.String[]minLengthPath(java.lang.String from, java.lang.String to)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino di lunghezza minima tra due nodijava.lang.String[]minPath(java.lang.String from, java.lang.String to, int type)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino minimo tra due nodidoubleminPathCost(java.lang.String[] path)Ritorna il costo minimo del cammino selezionando l'arco di costo minimo nel caso di archi multipli tra due nodijava.lang.String[]minPricePath(java.lang.String from, java.lang.String to)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino di prezzo minimo tra due nodibooleanremoveArc(Arc<TN,TA> ar)Cancella un arco dal grafobooleanremoveArc(java.lang.String from, java.lang.String to)Cancella tutti gli archi che collegano due nodi del grafobooleanremoveNode(java.lang.String nome)Rimuove un nodo dal grafobooleanrenameNode(java.lang.String name, java.lang.String newName)Cambia il nome di un nodovoidreset()Azzera le matrici di adiacenza e delle connessionivoidsave(java.io.Writer w)+ Salva la matrice di adiacenza del grafo nel GraphPanel su un Writer in un formato che prevede che la prima riga letta contenga il numero di nodi e la successiva � una riga vuota e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente c'� la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|'voidsave(java.io.Writer w, boolean labels)+ Salva la matrice di adiacenza del grafo su un Writer in un formato che prevede che eventualmente la prima riga scritta contenga il numero di nodi e la successiva contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente c'e' la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|'voidsaveMatrix(java.io.Writer w)Salva la successione delle potenze della matrice d'adiacenza del grafo e delle matrici delle connessionijava.lang.StringtoString()Ritorna una stringa rappresentante il grafo come sua matrice di adiacenza.
-
-
-
Constructor Detail
-
Graph
public Graph()
crea un Graph vuoto
-
Graph
public Graph(java.lang.String[] name, int[][] matAd)crea un Graph fornendo la matrice di adiacenza del grafo e la matrice contente i nomi dei nodi- Parameters:
name- la matrice dei nomi dei nodimatAd- la matrice di adiacenza del grafo in cui i le righe e le colonne hanno lo stesso ordine dei nomi
-
Graph
public Graph(java.lang.String[] name, int[][] matAd, double[][][] p)crea un Graph fornendo la matrice di adiacenza del grafo pesato, la matrice dei pesi degli archi e la matrice contente i nomi dei nodi- Parameters:
name- la matrice dei nomi dei nodimatAd- la matrice di adiacenza del grafo in cui le righe e le colonne hanno lo stesso ordine dei nomip- la matrice dei pesi del grafo in cui i le righe e le colonne hanno lo stesso ordine dei nomi
-
Graph
public Graph(java.lang.String[][] couples)
crea un Graph partendo dall’elenco delle coppie di nodi unite da un arco.- Parameters:
couples- una matrice dove ogni riga è una coppia di nomi di nodi collegati tramite un arco
-
Graph
public Graph(java.lang.String[][] couples, double[] prices)crea un Graph partendo dall’elenco delle coppie di nodi unite da un arco.- Parameters:
couples- una matrice dove ogni riga è una coppia di nomi di nodi collegati tramite un arcoprices- una matrice dove ogni elemento è il costo del corrispondente arco
-
Graph
public Graph(java.io.Reader r)
Crea un Graph prelevando da un Reader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
r- il Reader da cui viene prelevato il grafo
-
Graph
public Graph(java.io.Reader r, Graph<TN,TA> og)Crea un Graph prelevando da un Reader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
r- il Reader da cui viene prelevato il grafoog- il grafo da includere, null se un grafo nuovo
-
Graph
public Graph(java.io.BufferedReader br)
Crea un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
br- il BufferedReader da cui viene prelevato il grafo
-
Graph
public Graph(java.io.BufferedReader br, Graph<TN,TA> og)Crea un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
br- il BufferedReader da cui viene prelevato il grafoog- il grafo da includere, null se un grafo nuovo
-
-
Method Detail
-
load
public void load(java.io.Reader r)
Carica un Graph prelevando da un Reader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
r- il Reader da cui viene prelevato il grafo
-
load
public void load(java.io.Reader r, Graph<TN,TA> og)Carica un Graph prelevando da un Reader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
r- il Reader da cui viene prelevato il grafoog- il grafo da includere, null se un grafo nuovo
-
load
public void load(java.io.BufferedReader br)
Carica un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
br- il BufferedReader da cui viene prelevato il grafo
-
load
public void load(java.io.BufferedReader br, Graph<TN,TA> og)Carica un Graph prelevando da un BufferedReader la descrizione di un grafo in due formati. Nel primo il formato prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente puo' esserci la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|' Nel secondo formato invece sono elencati su ogni riga la coppia di nodi connessi da un arco ed eventualmente il costo dell'arco. Il nome del primo nodo non può essere un numero intero- Parameters:
br- il BufferedReader da cui viene prelevato il grafoog- il grafo da includere, null se un grafo nuovo
-
save
public void save(java.io.Writer w)
+ Salva la matrice di adiacenza del grafo nel GraphPanel su un Writer in un formato che prevede che la prima riga letta contenga il numero di nodi e la successiva � una riga vuota e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente c'� la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|'- Parameters:
w- il Writer su cui viene salvato il grafo
-
save
public void save(java.io.Writer w, boolean labels)+ Salva la matrice di adiacenza del grafo su un Writer in un formato che prevede che eventualmente la prima riga scritta contenga il numero di nodi e la successiva contiene l'elenco dei nomi dei nodi e nelle righe successive sono conservati i valori della matrice di adiacenza dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi Successivamente c'e' la matrice dei pesi dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi e gli elementi sono i valori dei singoli archi separati da '|'- Parameters:
w- il Writer su cui viene salvato il grafolabels- se true indica anche il numero di nodi e le etichette delle righe della matrice di adiacenza, altrimenti no.
-
saveMatrix
public void saveMatrix(java.io.Writer w)
Salva la successione delle potenze della matrice d'adiacenza del grafo e delle matrici delle connessioni- Parameters:
w- il Writer su cui viene salvato il grafo
-
coordOk
public boolean coordOk(int i, int j)Controlla se i due indici dei nodi sono validi per il grafo- Parameters:
i- la riga dell'arcoj- la colonna dell'arco- Returns:
- true se gli indici dei nodi dell'arco sono validi, false altrimenti
-
getArc
public Arc<TN,TA> getArc(java.lang.String from, java.lang.String to)
Ritorna l'arco compreso da due nodi- Parameters:
from- il nome del nodi di partenzato- il nome del nodo di arrivo- Returns:
- l'arco
-
getArc
public Arc<TN,TA> getArc(int i, int j)
Ritorna l'arco compreso da due nodi- Parameters:
i- l'indice del nodi di partenzaj- l'indice del nodo di arrivo- Returns:
- l'arco
-
removeArc
public boolean removeArc(Arc<TN,TA> ar)
Cancella un arco dal grafo- Parameters:
ar- l'arco da cancellare- Returns:
- true se ci sono altri archi tra gli stessi nodi, false altrimenti
-
removeArc
public boolean removeArc(java.lang.String from, java.lang.String to)Cancella tutti gli archi che collegano due nodi del grafo- Parameters:
from- in nome del nodo di partenzato- in nome del nodo di arrivo- Returns:
- true se sono stati rimossi archi tra i nodi, false altrimenti
-
addArc
public Arc<TN,TA> addArc(Arc<TN,TA> arc)
Aggiunge un arco al grafo- Parameters:
arc- l'arco da aggiungere- Returns:
- l'arco
-
addArc
public Arc<TN,TA> addArc(Node<TN> sorg, Node<TN> dest)
Aggiunge un arco al grafo- Parameters:
sorg- il nodo di partenzadest- il nodo di destinazione- Returns:
- l'arco
-
addArc
public Arc<TN,TA> addArc(Node<TN> sorg, Node<TN> dest, double price)
Aggiunge un arco al grafo con un certo prezzo- Parameters:
sorg- il nodo di partenzadest- il nodo di destinazioneprice- il prezzo dell'arco- Returns:
- l'arco
-
addArc
public Arc<TN,TA> addArc(java.lang.String sorg, java.lang.String dest)
Aggiunge un arco al grafo- Parameters:
sorg- il nome del nodo di partenzadest- il nome del nodo di destinazione- Returns:
- l'arco
-
addArc
public Arc<TN,TA> addArc(java.lang.String sorg, java.lang.String dest, double price)
Aggiunge un arco al grafo. Se i nodi collegati non esistono vengon creati- Parameters:
sorg- il nome del nodo di partenzadest- il nome del nodo di destinazioneprice- il prezzo dell'arco- Returns:
- l'arco
-
getNode
public Node<TN> getNode(int i)
Ritorna il nodo dato l'indice- Parameters:
i- l'indice del nodo- Returns:
- il nodo
-
getNode
public Node<TN> getNode(java.lang.String name)
Ritorna il nodo dato il nome- Parameters:
name- il nome del nodo- Returns:
- il nodo
-
renameNode
public boolean renameNode(java.lang.String name, java.lang.String newName)Cambia il nome di un nodo- Parameters:
name- il vecchio nome del nodonewName- il nuovo nome del nodo- Returns:
- true se il grafo e' cambiato, false altrimenti
-
removeNode
public boolean removeNode(java.lang.String nome)
Rimuove un nodo dal grafo- Parameters:
nome- il nome del nodo- Returns:
- true se il grafo e' cambiato, false altrimenti
-
addNode
public boolean addNode(java.lang.String name)
Aggiunge un nodo al grafo- Parameters:
name- il nome del nodo- Returns:
- true se il grafo e' cambiato, false altrimenti
-
findNode
public int findNode(java.lang.String nn)
Ritorna l'indice di un nodo del grafo dato il nome- Parameters:
nn- il nome del nodo- Returns:
- l'indice del nodo
-
findNode
public int findNode(Node<TN> node)
Ritorna l'indice di un nodo del grafo- Parameters:
node- il nodo- Returns:
- l'indice del nodo
-
getNodes
public java.lang.String[] getNodes()
Ritorna la matrice dei nodi- Returns:
- la matrice dei nomi dei nodi
-
reset
public void reset()
Azzera le matrici di adiacenza e delle connessioni
-
degree
public int degree()
Ritorna l'ordine del grafo- Returns:
- l'ordine del grafo
-
isConnected
public boolean isConnected(java.lang.String from, java.lang.String to)Dice se due nodi sono connessi- Parameters:
from- il nodo di partenzato- il nodo di arrivo- Returns:
- true se i due nodi sono connessi, false altrimenti
-
adjacency
public Matrix adjacency()
Ritorna la matrice di adiacenza del grafo- Returns:
- la matrice di adiacenza del grafo
-
connections
public Matrix connections()
Ritorna la matrice dei collegamenti del grafo- Returns:
- la matrice dei collegamenti del grafo
-
linearise
public boolean linearise()
Linearizza il grafo (Bisogna ancora risolvere la linearizzazione di piu' di due passi)- Returns:
- true se il grafo viene modificato, false altrimenti
-
costs
public double costs(java.lang.String[] path)
Calcola il costo di un percorso costituito dalla sequenza di nodi indicati, se esiste- Parameters:
path- il percorso da verificare- Returns:
- il costo del percorso, se esiste la connessione lungo il percorso, un valore infinito altrimenti
-
connected
public boolean connected(java.lang.String[] path)
Dice se il percorso costituito dalla sequenza di nodi indicati esiste- Parameters:
path- il percorso da verificare- Returns:
- treu se esiste la connessione lungo il percorso, false altrimenti
-
minLengthPath
public java.lang.String[] minLengthPath(java.lang.String from, java.lang.String to)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino di lunghezza minima tra due nodi- Parameters:
from- il nodo di partenzato- il nodo di arrivo- Returns:
- la sequenza dei nomi dei nodi che costituiscono il cammino di lunghezza minima tra i due nodi
-
minPricePath
public java.lang.String[] minPricePath(java.lang.String from, java.lang.String to)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino di prezzo minimo tra due nodi- Parameters:
from- il nodo di partenzato- il nodo di arrivo- Returns:
- la sequenza dei nomi dei nodi che costituiscono il cammino di prezzo minimo tra i due nodi
-
minPath
public java.lang.String[] minPath(java.lang.String from, java.lang.String to, int type)Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino minimo tra due nodi- Parameters:
from- il nodo di partenzato- il nodo di arrivotype- se il valore e' PRICE viene effettuata la ricerca sul percorso di prezzo minimo, se il valore e' LEN viene effettuata la ricerca sul percorso pi� breve.- Returns:
- la sequenza dei nomi dei nodi che costituiscono il cammino minimo tra i due nodi
-
longestShortPath
public java.lang.String[] longestShortPath(java.lang.String from)
Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino di costo inferiore col maggiore numero di passi senza cicli da un nodo- Parameters:
from- il nodo di partenza- Returns:
- la sequenza dei nomi dei nodi che costituiscono il cammino di costo inferiore col maggiore numero di passi senza cicli da un nodo
-
longestPath
public java.lang.String[] longestPath(java.lang.String from)
Ritorna la sequenze dei nomi dei nodi che costituiscono il cammino col maggiore numero di passi di costo inferiore da un nodo- Parameters:
from- il nodo di partenza- Returns:
- la sequenza dei nomi dei nodi che costituiscono il cammino col maggiore numero di passi di costo inferiore da un nodo
-
minPathCost
public double minPathCost(java.lang.String[] path) throws java.lang.NullPointerExceptionRitorna il costo minimo del cammino selezionando l'arco di costo minimo nel caso di archi multipli tra due nodi- Parameters:
path- il cammino di cui calcolare il costo- Returns:
- il costo del cammino
- Throws:
java.lang.NullPointerException- se mancano archi sul percorso
-
toString
public java.lang.String toString()
Ritorna una stringa rappresentante il grafo come sua matrice di adiacenza.- Overrides:
toStringin classjava.lang.Object- Returns:
- la stringa rappresentante il grafo
-
main
public static void main(java.lang.String[] ar)
Applicazione di prova.- Parameters:
ar- viene ignorato
-
-