Given a binary search tree, how do we find the maximum and minimum elements in it?

For example in the given tree, the maximum element is 8 and the minimum element is 1.

This algorithm is based on the following simple observation.

In a Binary search tree, the minimum element always lies on the left most node and the maximum element always lies on the right most node.

Here is the simple implementation of this algorithm in C++.