This document discusses binary trees as a data structure for storing hierarchical data. It defines key tree terminology like root, parent, child, and leaf nodes. It provides examples of how binary trees can be used to represent expressions and for file compression. It also introduces a BinaryTreeNode inner class to represent individual nodes, with constructors to initialize the data, left, and right references. Code is provided to build sample trees from these nodes and an example recursive size method is given.