Oppure

Loading
12/12/17 15:35
Voldx
Ciao a tutti, scrivo in questo forum per sapere come implementare la BFS in java.
Vi spiego qual'è il mio problema. L'algoritmo della visita in ampiezza è perfetta ( nel mio caso) per trovare un percorso minimo.
Il problema è che su internet i vari pseudocodici del BFS sono sopratutto per vedere se un elemento appartiene al grafo,
ma non è il codice che cerco. Ora vi chiedo, esiste un modo affinchè mi ritorna una lista che indica il percorso minimo senza utilizzare l'albero?
Grazie a tutti:asd:
aaa
13/12/17 3:41
pierotofy
github.com/techpanja/interviewproblems/blob/master/src/graphs/breadthfirstsearch/…

Non sono sicuro di capire cosa intendi per "ritorna una lista che indica il percorso minimo senza utilizzare l'albero".
Il mio blog: piero.dev
13/12/17 10:57
Voldx
Affinchè mi torni una lista di nodi che mi indica il percorso senza implentare la struttura dell'albero
aaa
13/12/17 13:52
pierotofy
Non riesco a capire cosa centra l'albero... con BFS si parla di grafi.

BFS non e' un algoritmo per trovare il percorso minimo. Ad esempio, se c'e' un ciclo all'interno del grafo, l'algoritmo non trovera' necessariamente il percorso minimo (trovera' UN percorso).

Probabilmente quello che ti serve e' l'algoritmo di Dijkstra le cui implementazioni in Java sono disponibili a migliaia (fai una ricerca su Google/GitHub): en.wikipedia.org/wiki/…
Il mio blog: piero.dev
13/12/17 16:29
lumo
Per ogni nodo salva il nodo precedente nella visita BFS, e poi ripercorri al contrario.

BFS non e' un algoritmo per trovare il percorso minimo. Ad esempio, se c'e' un ciclo all'interno del grafo, l'algoritmo non trovera' necessariamente il percorso minimo (trovera' UN percorso).

Se si parla di grafi con archi non pesati, allora BFS trova il percorso minimo, e la presenza di cicli non dovrebbe cambiare nulla no?
aaa
13/12/17 17:10
Roby94
Postato originariamente da lumo:
Se si parla di grafi con archi non pesati, allora BFS trova il percorso minimo, e la presenza di cicli non dovrebbe cambiare nulla no?

Credo che Piero intenda che l'algoritmo BFS come è concepito ti dice solo se un nodo è presente o no in un grafico; ovviamente nulla vieta di modificarlo come proponi tu per cambiarne totalmente la funzione, ma a questo punto non si puo parlare piu di BFS.
aaa
13/12/17 19:04
pierotofy
Postato originariamente da Roby94:
ma a questo punto non si puo parlare piu di BFS.


:k:
Il mio blog: piero.dev
13/12/17 19:09
pierotofy
Postato originariamente da lumo:

Se si parla di grafi con archi non pesati, allora BFS trova il percorso minimo, e la presenza di cicli non dovrebbe cambiare nulla no?


Si hai regione, avevo confuso con DFS. Ignorate il mio commento di prima.
Ultima modifica effettuata da pierotofy 13/12/17 19:10
Il mio blog: piero.dev