|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2008
Messaggi: 15
|
[JAVA o anche C] Grafo a liste di adiacenza pesato
Ho un problema, riesco a fare un grafo a liste di adiacenza ma non sò come farlo anche pesato, ho pensato di mettere una matrice a ogni nodo ma ho la netta sensazione che quella non sia una strada giusta (così assomiglirebbe troppo ad un grafo a matrice di adiacenza)!
Qualche consiglio su come posso implementare il "pesato"? Potrei per esempio, consapevole che ogni nodo del grafo ha una lista di nodi "normali" contenenti i nodi grafo, potrei cambiare la classe dei nodi "normali" per metteer qualcosa del tipo getPeso()...o no? Ultima modifica di Dhavamba : 31-08-2009 alle 10:59. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2785
|
Il peso non appartiene ai nodi ma agli archi, ogni entry di una lista di adiacenza rappresenta un arco orientato tra il nodo cui appartiene la lista e il nodo specificato nella entry. Per rendere gli archi pesati basta aggiungere alla entry un campo che contenga il peso dell'arco.
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Sep 2008
Messaggi: 15
|
quindi così non và, cioè ho aggiunto nella classe nodo (non nella classe nodo grafo) un getPeso e un setPeso, questo perchè sono consapevole che se aggiungo un nodo nella lista del nodografo è perchè esiste l'arco corrispondente, in poche parole l'ho fatto così:
Codice:
public void InsertArco(Nodo_Grafo a, Nodo_Grafo b,int c) {
a.getLista().insertTail(b);
a.search(b.getInfo()).setPeso(c);
b.getLista().insertTail(a);
b.search(a.getInfo()).setPeso(c);
numArchi++;
}
e questo il metodo per ritrovare il peso di due archi Codice:
public int PesoArco(Nodo_Grafo a, Nodo_Grafo b) {
return a.search(b.getInfo()).getPeso();
}
getLista() = fà il return della lista del nodo specifico del grafo insertTail() = aggiunge un nodo nella lista. Ho provato nel Main e lo fà bene il lavoro, quindi è giusto? P.S: Ovviamente nella classe node, il getInfo() e il getPeso() sono due cose distinte, uno dà il Nodo_Grafo (pensa ad un contenitore dentro un contenitore) e l'altro il peso... Ultima modifica di Dhavamba : 31-08-2009 alle 13:41. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:29.


















