analogicznie, jeżeli wartość poszukiwanego klucza jest większa niż wartość klucza w porównywanym węźle to dalsze poszukiwania prowadzone są tylko w prawym poddrzewie.

Rekurencyjny algorytm wyszukiwania wygląda następująco: define BST_TREE_SEARCH (Node, Key): if (Node == NULL) or (Node->Key == Key) return Node if Key < Node->Key return BST_TREE_SEARCH (Node->Left, Key) return BST_TREE_SEARCH (Node->Right, Key)

Istnieje także efektywniejszy algorytm przeszukiwania drzewa – algorytm iteracyjny. Przedstawia się on następująco: define ITERATIVE_BST_TREE_SEARCH (Node, Key): while ((Node != NULL) and (Node->Key != Key)) if (Key < Node->Key) Node = Node->left else Node = Node->right return Node Podobnie jak w przypadku algorytmu rekurencyjnego, także tutaj procedura wywoływana jest z parametrami będącymi wskaźnikiem na korzeń drzewa oraz wartością wyszukiwanego klucza. Także tutaj poruszamy się w dół drzewa, jednak zamiast wywołań rekurencyjnych stosuje się przypisanie adresu odpowiedniego syna węzła do zmiennej Node.