This document discusses binary search trees (BSTs). It defines a BST as a binary tree where every node's value is greater than all values in its left subtree and less than all values in its right subtree. It describes the average and maximum depth of nodes in a BST, and algorithms for searching, inserting, and deleting nodes from a BST. Searching and inserting take O(log n) time on a balanced BST, while deletions can unbalance the tree.