Difference between "Complete binary tree", "strict binary tree","full binary Tree"?
I am confused about the terminology of the below trees, I have been studying the Tree, and I am unable to distinguish between these trees:
a) Complete Binary Tree
b) Strict Binary Tree
c) Full Binary Tree
Please help me to differentiate among these trees. When and where these trees are used in Data Structure?
Perfect Tree:
x
/ \
/ \
x x
/ \ / \
x x x x
/ \ / \ / \ / \
x x x x x x x x
Complete Tree:
x
/ \
/ \
x x
/ \ / \
x x x x
/ \ /
x x x
Strict/Full Tree:
x
/ \
/ \
x x
/ \
x x
/ \
x x
Wikipedia yielded
A full binary tree (sometimes proper binary tree or 2-tree or strictly binary tree) is a tree in which every node other than the leaves has two children.
So you have no nodes with only 1 child. Appears to be the same as strict binary tree.
Here is an image of a full/strict binary tree, from google:
A complete binary tree is a binary tree in which every level, except possibly the last, is completely filled, and all nodes are as far left as possible.
It seems to mean a balanced tree.
Here is an image of a complete binary tree, from google, full tree part of image is bonus.