Ricerca in profondità ( DFS) e meglio prima ricerca ( BFS) sono due attraversamenti è possibile eseguire su strutture ad albero Java. Essi partono da un nodo e si diramano specificato fino a trovare l'oggetto di ricerca . L' unica differenza è la direzionalità : DFS ricerche basso dal nodo , BFS ricerche orizzontalmente per nodi vicini . Implementazione di DFS e BFS attraversamenti è relativamente semplice , perché , anche se il codice è lungo, ci sono solo un paio di posti in cui deve essere personalizzato per i vostri dati . Istruzioni
1
Aprite il vostro codice Java
2
Copia e incolla il seguente in cui si desidera l' attraversamento per funzionare : . Public void TRAV ( ) { Stack s = new Stack (); s.push ( this.rootNode ) ; rootNode.PROP ; printNode ( rootNode ), mentre { Node n = ( nodo) s.peek ( ) ( s.isEmpty ( ) !) ; figlio del nodo = getUnvisitedChildNode ( n) if ( child! = null) { child.visited = true ; printNode (bambino) ; s.push (bambino) ; } else { s.pop (); } } clearNodes (); }
3
Sostituire " TRAV " sia con " DFS " o " bfs ".
4
Sostituire " PROP " con la sua ricerca di bene . Questo può essere qualsiasi condizione di Java , usando normale codice Java .
5
Eseguire il codice . Si eseguirà la DFS /BFS attraversamento e visualizzare i risultati in una nuova finestra quando finisce.