
Comp202: Principles of ObjectOriented Programming II
Fall 2007  Lab
#8: TreeN and The Generalized Visitor

In this lab, you will get to write a few visitors for the
TreeN structure used in the SelfBalancing Tree algorithms.
Click here
to download the source code for TreeN:
 Write a visitor, called CountNodes, for TreeN, to count the number of
nodes in the host tree. Be sure to write your own JUnit test.
 Write a visitor, called CountElements, for TreeN, to count the number of
data elements in the host tree. Be sure to write your own JUnit
test.
 Write a visitor, called CountLeaves, for TreeN, to count the number of
leaf nodes in the host tree. Be sure to write your own JUnit
test.
 Write a visitor, called GetHeight, for TreeN to compute the height of host
tree. The height of an empty tree is 0. The height of a
onenode tree is 1. What is the height of a tree with more than one
node? Be sure to write your own JUnit test.
 Write a visitor, called GetWidth, for a TreeN, to compute the width of the
host tree. The width of an empty tree is 0. The width of a
nonempty tree is the larger of the width of the parent node and the sum of
the widths of the children subtrees. Be sure to write your own JUnit
test..
 Write a visitor, called FuseTree, for a TreeN, that takes another TreeN as
input parameter and "fuses" it with the host tree in the following
manner.
 When the host is empty then the host simply becomes the input tree.
 When the input tree is empty then the host stays the same and the
input tree becomes the host.
 When both host and input are not empty, then the host root node and
the input root node get concatenated together, and the rightmost subtree
of the host fuses with the leftmost subtree of the input tree.
Be sure to write your own JUnit test.
Last Revised
Thursday, 03Jun2010 09:52:32 CDT
©2007 Stephen Wong and Dung Nguyen