Pages: [1]   Go Down
Print
Author Topic: Aiuto per il progetto  (Read 1298 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
TheRealKira
Apprendista Forumista
**
Offline Offline

Posts: 116


« on: 31-08-2009, 16:42:01 »

Ragazzi scusate ma io ancora non ho capito come fare una cosa: nel progetto dell'appello di giugno chiedevano di ottenere i Prodotti da un file di oggetti, come si fa? Io li avevo ricavati da un file di testo ma il prof mi ha dato errore (giustamente), quindi che dovevo fare? E poi se qualche santo riesce a postarmi la BFS dato che non ho una fonte e quella che ho fatto mi ha anke detto che era sbagliata. La posto sperando in qualche anima pia che riesce a postarla per aiutarmi. Grazie!


Premetto che l'ho messa come metodo del Grafo e che la LinkedListBFS è una lista linkata tradizionaleche prende nodi del grafo anzichè Object come parametri
Code:
public void BFS(NodoLA n)
{
//metto degli indicatori di stato sotto forma di stringhe
final String nonVisitato="bianco";
final String visitato="grigio";
final String completo="nero";
//alcune variabili che serviranno
int distanza;
NodoLA padre;
Queue codaAux=new Queue();
//ottengo un array dei nodi del grafo
NodoLA[] arrayN=this.nodi();
//imposto tutti i nodi come non visitati, senza padre nè distanza
for(int i=0;i<arrayN.length;i++){

arrayN[i].setStato(nonVisitato);
arrayN[i].setDist(-1);
arrayN[i].setPadre(null);

}

//il nodo base dato in input al metodo viene settato come visitato con distanza 0, non ha padre
n.setStato(visitato);
n.setDist(0);
try{
//metto nella coda ausiliare il nodo base
codaAux.enqueue(n);

//avvio un ciclo che dura finchè ci sono elementi nella coda
while(codaAux.isEmpty()==false)
{
//creo un nodo di riferimento estraendolo dalla coda
NodoLA aux=(NodoLA)(codaAux.dequeue());
//ne prendo la lista di adiacenza
LinkedListBFS adiac=aux.getAdiac();
//avvio un ciclo per ogni elemento nella lista di adiacenza
for(int i=0; i<adiac.getSize();i++)
{
//se l'elemento adiacente non è visitato lo metto come visitato e imposto padre e distanza in base al nodo di partenza
if(adiac.get(i).getStato().compareTo("bianco")==0){
codaAux.enqueue(adiac.get(i));
adiac.get(i).setStato(visitato);
adiac.get(i).setPadre(aux);
adiac.get(i).setDist(aux.getDist()+1);
}

}
//alla fine setto il nodo di partenza come completo
aux.setStato(completo);
//inserisco il nodo nella lista che servirà poi per stamapare i nodi dell'albero così ottenuto
nodiAlbero.insertTail(aux);
}



}
catch (Exception e){
System.out.println(e);
}
}
//chiama il metodo BFS in base al nodo passato come parametro e restituisce la lista linkata con i nodi dell'albero risultante dalla visita
public void printBFSTree(NodoLA n)
{
this.BFS(n);
nodiAlbero.printList();
}



}
Logged
icemouse_ej
Guest
« Reply #1 on: 31-08-2009, 17:32:12 »

ciao , posteresti il testo..!
grazie..
Logged
TheRealKira
Apprendista Forumista
**
Offline Offline

Posts: 116


« Reply #2 on: 09-09-2009, 15:36:35 »

Uffa non riesco più a trovarlo! Se qualcuno riesce a trovarlo è il progetto B dell'esame del 25 giugno. Per favore almeno per quel fatto del file qualcuno mi aiouti T_T
Logged
Crasher
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #3 on: 11-09-2009, 10:46:10 »

Eccovi il progetto B del 25 Giugno

Link Immagine

 
Logged

Diventa ciò che sei nato per essere
TheRealKira
Apprendista Forumista
**
Offline Offline

Posts: 116


« Reply #4 on: 11-09-2009, 15:21:31 »

Grazie mille crasher si vede k sei uno apposto XDD anke dall'imma di Aragorn sisi  pray grazie! Adesso serve qualcuno k aiuta vi preeeego!
Logged
Pages: [1]   Go Up
Print
Jump to: