
Generic BinaryTree & Stack Solution
Project 1
InstructionsPart 1
Design and implement a generic stack classStackUMUC<T and a
generic queue class QueueUMUC<T (these names are chosen as to
avoid confusion with similar classes defined in JDK).
For StackUMUC<T class, implement the following methods:
StackUMUC(int) // class constructor
void push(T)
T pop()
T peek()
String toString()
For
QueueUMUC<T class, implement the following methods:
QueueUMUC(int) //
class constructor
void put(T)
T get()
T peek()
String toString()
The
source code of the two classes should compile without errors.
Project 2
Instructions
Part
1 – Design and implement a binary tree using generics
Design
and implement a generic binary tree consisting of classes BT<T and
BTnode<T and the interface BTinterface<T.
The class BT<T defines the instance variable root of type
BTnode<T, a default constructor which builds an empty tree and
implements the methods specified by the interface BTinterface<T.
The class BTnode<T defines the instance variable value of type T,
the instance variables left and right of type BTnode<T
representing references to the left and right child nodes, a constructor
with parameter representing the value of the new node and a method getValue
returning the node value.
If necessary, additional instance variables and methods could be added to the
classes BT<T and BTnode<T (explanation should be provided for
these extra resources).
The
interface BTinterface<T specifies the following methods that will be
implemented by the class BT<T using recursive techniques:
- inorder,
preorder, postorder for tree traversal - these methods should
return the corresponding string representation of the tree;
- insertLeftChild, insertRightChild - these methods take the
value of the new node and the value of its parent node as parameters and return
a reference to the new inserted node.
- isMember - takes the value as parameter and returns the reference
to the node containing the specified value or null is the value is not in the
tree.
- isLeaf - takes the value as parameter and returns true if the
node containing that value is a tree leaf and false otherwise.
- getMaxLevels - returns the maximum number of tree levels.
- getNumberOfNodesAtLevel - returns the number of nodes located at
a specified level;
- getTotalNumberOfTreeNodes
You'll get 1 file (108.0KB)