Hey, I was just wondering about searching a binary tree for the smallest / the largest value. Normally, the smallest is found by following the left branch until the last leaf is found. But what if we have a nonoptimizing tree like this (8 being the root):
8  10  11
 
 1

6  7  9
 
5 4
The smallest is "1", which can be found going first right and then left from the root, and the value found by "normal" method is "5". I know this might be a silly question, but shouldn't we always check all the branches and leaves when trying to find the smallest or the largest value in BST which isn't balanced? :)
EDIT:
Ehm... the ASCII tree doesn't show up quite right. Just copy it to notepad etc. to see it right.