I came upon two resources and they appear to say the basic definition in two ways.
Source 1 (and one of my professor) says:
All leaves are at the same level and all non-leaf nodes have two child nodes.
Source 2 (and 95% of internet) says:
A full binary tree (sometimes referred to as a proper or plane binary tree) is a tree in which every node in the tree has either 0 or 2 children.
becomes a binary tree but not according to
Source 1 as the leaves are not in the same level.
So typically they consider trees like,
Full Binary Tree.
I may sound stupid but I'm confused what to believe. Any help is appreciated. Thanks in advance.
There are three main concepts: (1) Full binary tree (2) Complete binary tree and (3) Perfect binary tree. As you said, full binary tree is a tree in which all nodes have either degree 2 or 0. However, a complete binary tree is one in which all levels except possible the last level are filled. Furthermore, a perfect binary tree is a full binary tree such that all levels are at the same depth. For more see the wikipedia page
My intuition for the term complete here is that given a fixed number of nodes, a complete binary tree is made by filling each level completely except possibly the last one, since the number of nodes may not be of the form 2^n - 1.