This document discusses algorithms for binary search trees. It begins by defining common tree terminology like root, child, leaf, and path. It then describes the Node and Tree classes needed to implement a binary search tree, with Node objects containing data and references to child nodes, and Tree containing a root Node. The document explains how to find a node by traversing the tree and comparing keys, and includes code for a find() method. It also covers inserting a new node using a similar approach.