Answers to Self-Study Questions for BST
Test Yourself #1
Question #1
(1) (2) (3) (4)
A 10 cat 15
/ \ / / \ / \
B C 5 bat rat 5 22
/ / \ \
-3 ant 20 30
Tree 1 is not a BST because B is greater than A, yet B is in the left subtree
of the node with key A (all keys in a node's left subtree should have keys
that are less than the key in that node).
Tree 4 is not a BST because 20 is greater than 15, yet 20 is in the
left subtree of the node with key 15.
Question #2
An in-order traversal of a BST prints the data out in sorted order.
Test Yourself #2
The BST that results from insertingn the values 5 3 7 6 2 1 4 in that order
is:
5
/ \
3 7
/ \ /
2 4 6
/
1
The BST that results from insertingn the values 1 2 3 4 5 6 7 in that order
is:
1
\
2
\
3
\
4
\
5
\
6
\
7
The BST that results from insertingn the values 4 3 5 2 6 1 7 in that order
is:
4
/ \
3 5
/ \
2 6
/ \
1 7
Test Yourself #3
private static BinaryTreenode smallestNode(BinaryTreenode T)
// precondition: T is not null
// postcondition: return the node in the subtree rooted at T that
// has the smallest value
{
if (T.left == null) return T;
else return smallestNode(T.left);
}