# Binary Tree | Data Structure

I have written a blog about the tree data structure overview. If you don’t know about tree data structure, click here to see my blog.

In this blog, we will be going to know about Binary Tree. I hope you will get some idea of it.

A binary tree is a type of tree. But there is some condition. To be a binary tree, it has to fulfill some requirements. Otherwise, it will not be considered a binary tree.

We all know about the node. And in a binary tree, each node has at most two children. It’s okay to have two children, one child, or even no children. But if a node contains more than two children, or you can say it two child nodes, the tree will not be considered a binary tree. As a node has at most two children, we can refer to those children as the left child and right child.

Let’s see an example to get a better idea of it.

``````                                    Root
/     \
Left Child     Right Child``````
``````       Example 1              Example 2         Example 3          Example 4
3                      7                 1                  1
/   \                  /   \             /   \              /   \
4     9                5      6          2     3            2     3
/   \  /  \            / | \     \                             \
1     2 5   7          1  2  3     4                              4

Binary Tree          Not a Binary Tree     Binary Tree       Binary Tree

Example 5              Example 6           Example 7
0                      3                    9
/                      / | \               / | \ \
1                       1  7  2             2  3  4 5

Binary Tree         Not a Binary Tree      Not a Binary Tree``````

In our above examples, three of them are not binary trees.

In examples 2 and 3, both have a node with three children. And the last example has four children. As these trees have at least a node with more than two children, we can’t count them as binary trees.

I hope you got the idea about Tree and Binary Tree. All binary tree is a tree, but all tree is not binary tree.

### Traversing Algorithm

There are mainly two types of algorithms for traversing. Traversing means visiting nodes in a binary tree. These are:

• DFS (Depth First Search)
• Preorder Traversal
• Inorder Traversal
• Postorder Traversal