Search code examples
data-structurestreebinary-tree

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?


Solution

  • 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:

    enter image description here

    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.

    enter image description here