/** * @authorCJ July 14, 2017 pm 1:14:31*/ PackageCom.yuanye.algorithm;Importjava.util.LinkedList;Importjava.util.List; Public classBinaryTree {//private static list<node> currentlevelnodes=new arraylist<> ();//private static list<node> nextlevelnodes=new arraylist<> (); Private StaticList<node> nodelist=NewLinkedlist<>(); Public Static voidMain (string[] args) {Node RootNode=NewNode (); Rootnode.setvalue (88); Generatetree (RootNode,5,0); Printtree (RootNode); } Public Static voidGeneratetree (Node parentnode,intDepthintcurrentdepth) { if(currentdepth>depth-1) return; Node Leftnode=NewNode (); Leftnode.setvalue (6000+currentdepth); Node Rightnode=NewNode (); Rightnode.setvalue (9000+currentdepth); Parentnode.setleftnode (Leftnode); Parentnode.setrightnode (Rightnode); Generatetree (leftnode,depth,currentdepth+1); Generatetree (rightnode,depth,currentdepth+1); } Public Static voidPrinttree (Node rootNode) {System.out.println (Rootnode.getvalue ()); Node Leftnode=Rootnode.getleftnode (); Node Rightnode=Rootnode.getrightnode (); if(leftnode!=NULL) {nodelist.add (Leftnode); } if(rightnode!=NULL) {nodelist.add (Rightnode); }//if (currentlevelnodes.size () ==0) {//Currentlevelnodes.addall (nextlevelnodes);//Nextlevelnodes.removeall (nextlevelnodes);// }//if (currentlevelnodes.size () >0) {//Node nextnode=currentlevelnodes.get (0);//currentlevelnodes.remove (0);//Printtree (nextnode);// } if(Nodelist.size () >0) {Node NextNode=nodelist.get (0); Nodelist.remove (0); Printtree (NextNode); } }}classnode{Private intvalue; PrivateNode Leftnode; PrivateNode Rightnode; Public intGetValue () {returnvalue; } Public voidSetValue (intvalue) { This. Value =value; } PublicNode Getleftnode () {returnLeftnode; } Public voidSetleftnode (Node leftnode) { This. Leftnode =Leftnode; } PublicNode Getrightnode () {returnRightnode; } Public voidSetrightnode (Node rightnode) { This. Rightnode =Rightnode; } @Override PublicString toString () {return"Node [value=" + Value + ", leftnode=" + Leftnode + ", rightnode=" + Rightnode + "]"; }}
Java traversal of binary tree by hierarchy