'Definition of Full Binary Tree

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.

Now following Source 2, enter image description here

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,

enter image description here

as Full Binary Tree.

I may sound stupid but I'm confused what to believe. Any help is appreciated. Thanks in advance.



Solution 1:[1]

I think the issue is, what's the purpose of making the definition? Usually, the reason for defining full binary tree in the way that appears in Wikipedia is to be able to introduce and prove the Full Binary Tree Theorem:

The total number of nodes N in a full binary tree with I internal nodes is 2 I + 1.

(There are several equivalent formulations of this theorem in terms of the number of interior nodes, number of leaf nodes, and total number of nodes.) The proof of this theorem does not require that all the leaf nodes be at the same level.

What one of your professors is describing is something I would call a perfect binary tree, or, equivalently, a full, complete binary tree.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Ted Hopp