Binary Tree Classifications
These terms describe different structural properties. A complete binary tree has every level completely filled except possibly the last, and the last level is filled from left to right. A full binary tree has every node with either zero or two children. A perfect binary tree is both structurally complete and full, meaning every internal node has two children and all leaves occur at the same level.
Complete: Last level may be partially filled, but nodes are left-aligned.
Full: Every node has either 0 or 2 children.
Perfect: All internal nodes have 2 children and all leaves are at the same depth.
A perfect tree with height h has 2^(h+1)-1 nodes.