Dybde -først- søgning (DFS ) og bedste -først- søgning (BFS ) er to gennemkrydsninger du kan køre på Java træstrukturer . De starter på et bestemt node og gren ud, indtil de finder søgningen objekt. Den eneste forskel er retningen : DFS søgninger ned fra knude, BFS søgninger vandret tilstødende noder. Implementering DFS og BFS gennemkrydsninger er relativt enkel, fordi , selvom koden er lang, er der kun et par steder , hvor den skal være tilpasset til dine data . Instruktioner
1
Åbn din Java-kode
2
Kopier og indsæt følgende, hvor du vil have gennemkrydsningen kø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 ) , hvis ( child! = null) { child.visited = true; printNode ( barn ), s.push ( barn );} else { s.pop (); }} clearNodes ( );}
< br > 3
Erstat " TRAV " med enten " DFS " eller " BFS ".
4
Erstat " PROP " med søgningen ejendom. Dette kan være enhver Java tilstand , ved hjælp af regelmæssige Java-kode .
5.
Kør koden. Det vil udføre DFS /BFS traversal og vise resultaterne i et nyt vindue, når den er færdig .