Data Structures and Algorithms
with Object-Oriented Design Patterns in Java
-
Devise an algorithm to compute the height of a tree.
Write an implementation of your algorithm
as the getHeight method of the AbstractTree class
introduced in Program .
-
Devise an algorithm to count the number of internal nodes in a tree.
Write an implementation of your algorithm
as the getCount method of the AbstractTree class
introduced in Program .
-
Devise an algorithm to count the number of leaves in a tree.
Write an implementation of your algorithm
as a method of the AbstractTree class
introduced in Program .
-
Devise an abstract (generic) algorithm to compare trees.
(See Exercise ).
Write an implementation of your algorithm
as the compareTo method of the AbstractTree class
introduced in Program .
-
The TreeEnumeration class introduced in Program
does a preorder traversal of a tree.
-
Write an enumeration class that does
a postorder traversal.
-
Write an enumeration class that does
a breadth-first traversal.
-
Write an enumeration class that does
an inorder traversal.
(In this case,
assume that the tree is a BinaryTree).
-
Complete the GeneralTree class
introduced in Program
by providing suitable definitions for the following methods:
isEmpty, isLeaf, getDegree, and compareTo.
Write a test program and test your implementation.
-
Complete the NaryTree class
introduced in Program
by providing suitable definitions for the following methods:
purge, isLeaf, getDegree, and compareTo.
Write a test program and test your implementation.
-
Complete the BinaryTree class
introduced in Program
by providing suitable definitions for the following methods:
isEmpty, isLeaf, getDegree,
getKey, attachKey, detachKey,
getLeft, attachLeft, detachLeft,
getRight, attachRight,
detachRight, and getSubtree.
Write a test program and test your implementation.
-
Write a visitor that draws a picture of a tree on the screen.
-
Design and implement an algorithm that constructs an expression tree
from an infix expression such as
Hint: See Project .
Copyright © 1998 by Bruno R. Preiss, P.Eng. All rights reserved.