Question: You will implement three different iterators for your Red-Black Tree: a pre-order iterator, an in-order iterator, and a post-order iterator. You are free to add
You will implement three different iterators for your Red-Black Tree: a pre-order iterator, an in-order iterator, and a post-order iterator. You are free to add whatever instance variables and helper methods you need in addition to implementing the required constructor, next() and hasNext() methods [Note that other two methods have default behavior so we dont see explicitly implement them]. You are not required to implement those methods (remove and forEachRemaining).
Write test methods for the iterators as well.
Given:
/* * This method uses the in order iterator to create an ArrayList of Nodes */ public ArrayListinOrder() { RBTreeInOrderIterator iter = new RBTreeInOrderIterator(root); ArrayList inorder = new ArrayList<>(); while(iter.hasNext()) { inorder.add(iter.next()); } return inorder; } /* * This method uses the pre order iterator to create an ArrayList of Nodes */ public ArrayList preOrder() { RBTreePreOrderIterator iter = new RBTreePreOrderIterator(root); ArrayList preorder = new ArrayList<>(); while(iter.hasNext()) { preorder.add(iter.next()); } return preorder; } /* * This method uses the post order iterator to create an ArrayList of Nodes */ public ArrayList postOrder() { RBTreePostOrderIterator iter = new RBTreePostOrderIterator(root); ArrayList postorder = new ArrayList<>(); while(iter.hasNext()) { postorder.add(iter.next()); } return postorder; } public class RBTreeInOrderIterator implements Iterator { public boolean hasNext(){ return false; } public Node next(){ return null; } } public class RBTreePreOrderIterator implements Iterator { public boolean hasNext(){ return false; } public Node next(){ return null; } } public class RBTreePostOrderIterator implements Iterator { public boolean hasNext(){ return false; } public Node next(){ return null; } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
