# Mathematical background The main data structure is a full binary tree. A binary tree is *full* if each of its node has either two or zero children. If a node has two children it is an internal node, otherwise a leaf. Fundamental theorem: Let I be the number of internal nodes and L the number of leaves, then: L = I + 1 (It can be proved by induction on the number of internal nodes.) This means that when we add a leaf to the tree (when a window is created), we must also add one internal node.