A binary search tree is a binary tree that maintains an ordering invariant: for every node, all keys in its left subtree are smaller and all keys in its right subtree are larger. This single rule lets a search start at the root and, at each step, discard half of the remaining tree by comparing the target with the current node and moving left or right accordingly.
Donald Knuth analyzes searching by comparison of keys, including tree search, in the Sorting and Searching volume of The Art of Computer Programming, where the binary search tree is studied as a way to combine the speed of binary search with the flexibility of a dynamic structure that supports insertion and deletion. When the tree is reasonably balanced, search, insertion, and deletion each take time proportional to the height of the tree, which is on the order of log n for n stored keys.
The weakness of the basic binary search tree is that its shape depends on the order in which keys are inserted. Inserting keys in sorted order produces a degenerate tree in which every node has only one child, a long “stick” that behaves like a linked list. In that worst case the height grows to n and operations slow to linear time, erasing the advantage of the tree.
This sensitivity to insertion order is exactly why self-balancing variants were developed. Structures such as AVL trees and red-black trees add rebalancing steps that keep the height logarithmic regardless of the input sequence, preserving fast operations even in adversarial cases.