Dybde -først-søk ( DFS ) og best -først-søk ( BFS ) er to gjennomløping du kan kjøre på Java trestruktur. De starter på en spesifisert node og forgreiner seg ut til de finner søk objektet . Den eneste forskjellen er retningen : DFS søker ned fra node, BFS søk horisontalt til nærliggende noder. Implementering av DFS og BFS gjennomløping er relativt enkelt, fordi, selv om koden er lang , er det bare et par steder hvor det er behov for å være tilpasset for dine data . Instruksjoner
en
Åpne din Java-kode
2
Kopier og lim inn følgende der du vil at traversering å kjøre : . Public void TRAV ( ) { Stack s = new Stack (); s.push ( this.rootNode ) ; rootNode.PROP ; printNode ( rootNode ) , mens { Node n = ( Node ) s.peek ( ) ( s.isEmpty ( !) ) ; Node barn = getUnvisitedChildNode (n ) ; if ( child! = null ) { child.visited = true; printNode ( barn ), s.push ( barn) ;} else { s.pop (); } } clearNodes (); }
3
Erstatt " TRAV " med enten " DFS " eller " bfs . "
4
Erstatt " prop" med søket eiendom. Dette kan være en hvilken som helst Java tilstand , bruker vanlig Java-kode .
5
Kjør koden . Det vil utføre DFS /BFS traversering og vise resultatene i et nytt vindu når den er ferdig .