- //recursive middle sequence traversal
- public void Inorder () {
- System.out.print ("binarytree recursive middle Sequence Traversal:");
- Inordertraverserecursion (root);
- System.out.println ();
- }
- //Hierarchical Traversal
- public void Layerorder () {
- System.out.print ("Binarytree hierarchy Traversal:");
- linkedlist<node<integer>> queue = new linkedlist<node<integer>> ();
- Queue.addlast (root);
- node<integer> current = null;
- While (!queue.isempty ()) {
- Current = Queue.removefirst ();
- if (current.getleftchild () = null)
- Queue.addlast (Current.getleftchild ());
- if (current.getrightchild () = null)
- Queue.addlast (Current.getrightchild ());
- System.out.print (Current.getvalue ());
- }
- System.out.println ();
- }
- //Get two fork tree depth
- public int getdepth () {
- return getdepthrecursion (root);
- }
- private int getdepthrecursion (node<integer> Node) {
- if (node = = null)
- return 0;
- int llen = getdepthrecursion (Node.getleftchild ());
- int rlen = getdepthrecursion (Node.getrightchild ());
- int maxlen = Math.max (Llen, Rlen);
- return maxlen + 1;
- }
- //Recursive First order traversal
- public Void Preorder () {
- System.out.print ("Binarytree recursive First Order traversal:");
- Preordertraverserecursion (root);
- System.out.println ();
- }
Java Two fork tree recursive traversal algorithm