Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BinaryTreeNode
- {
- // data members
- Object element;
- BinaryTreeNode leftChild; // left subtree
- BinaryTreeNode rightChild; // right subtree
- // constructors
- public BinaryTreeNode() {
- }
- public BinaryTreeNode(Object theElement)
- {element = theElement;}
- public BinaryTreeNode(Object theElement,
- BinaryTreeNode theleftChild,
- BinaryTreeNode therightChild)
- {
- element = theElement;
- leftChild = theleftChild;
- rightChild = therightChild;
- }
- // output method
- public String toString()
- {return element.toString();}
- }
- /** binary tree traversal methods */
- public class BinaryTreeTraversal
- {
- /** preorder traversal */
- public void preOrder(BinaryTreeNode t)
- {
- if (t != null)
- {
- visit(t); // visit tree root
- preOrder(t.leftChild); // do left subtree
- preOrder(t.rightChild); // do right subtree
- }
- }
- /** inorder traversal */
- public void inOrder(BinaryTreeNode t)
- {
- if (t != null)
- {
- inOrder(t.leftChild); // do left subtree
- visit(t); // visit tree root
- inOrder(t.rightChild); // do right subtree
- }
- }
- /** postorder traversal */
- public void postOrder(BinaryTreeNode t)
- {
- if (t != null)
- {
- postOrder(t.leftChild); // do left subtree
- postOrder(t.rightChild); // do right subtree
- visit(t); // visit tree root
- }
- }
- /** level order traversal */
- public void levelOrder(BinaryTreeNode t)
- {
- ArrayQueue q = new ArrayQueue();
- while (t != null)
- {
- visit(t); // visit t
- // put t's children on queue
- if (t.leftChild != null)
- q.put(t.leftChild);
- if (t.rightChild != null)
- q.put(t.rightChild);
- // get next node to visit
- t = (BinaryTreeNode) q.remove();
- }
- }
- public void visit(BinaryTreeNode t){
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement