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 ArrayList inOrder() { 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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!