Sono un principiante in Java e ho bisogno di aiuto.Implementazione di BFS in Java
Sto tentando di implementare l'algoritmo di Breadth First Search per risolvere un puzzle game (sbloccami un gioco su Android). Ho finito con la GUI, ma sono bloccato con l'algoritmo.
Finora sono in grado di contare le mosse disponibili di ciascun blocco, che si suppone siano i nodi figli del nodo radice. Ogni nodo (elenco collegato) ha la posizione di ciascun blocco e tutti i nodi vengono memorizzati in un Set.
Quello che mi serve ora è contrassegnare ogni nodo come visitato, quindi non entrare in un ciclo.
Apprezzerei qualsiasi tipo di aiuto e, per favore, correggimi se mi sbaglio con qualcosa.
Grazie in anticipo :)
Se si utilizza l'interfaccia 'Deque' nell'elenco collegato, è possibile modificare facilmente che BFS sia anche un DFS (se necessario). http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html –
dove sono definiti i metodi 'printNode()' e 'visited()'? Come posso emulare 'visited'? – Growler