## What is a binary tree?

A binary tree is **a special graph in the form of a branching tree.** Binary trees have the special feature that their nodes always have at most two descendants. These divide systematically into a left and a right subtree.

With this method, files are stored in a Database placed and found. The algorithm finds data by repeatedly halving the number of ultimately accessible records until only one remains.

## How does a binary tree work?

In a tree, records are stored at locations called leaves. This name derives from the fact that records are always present at the end points; there is nothing beyond. The branching points are called nodes. The order of a tree results from the number of branches (called children) per node. **In a binary tree there are always two children per node**The number of leaves in a binary tree is always a power of 2. The number of access operations required to reach the desired data set is called the depth of the tree.

In a practical tree, there can be thousands, millions or billions of records. Not all leaves necessarily contain a record, but more than half do. A leaf that does not contain a record is called a zero.

One of the best-known programming languages is Java. In Java, a binary search tree has a node-based binary tree data structure that has the following properties: The left subtree of a node contains only nodes whose key is smaller than the key of the parent node and the right subtree, on the other hand, contains only nodes with a larger key.

## What are the applications of binary trees?

There are different types of binary trees, with unique characteristics...:

**Binary search trees**represent the most relevant representatives of the binary trees. The nodes in these trees are arranged linearly according to their key. With their help, more efficient searches can be implemented in practice.**Full binary trees**are a special type of binary tree that has either no children or two children. This means that all nodes in this tree either have two child nodes of the parent node or the parent node itself is the leaf node or the external node. In other words, a full binary tree is a unique tree in which every node has two children except the external node. Even if this has only one child, such a binary tree is not a full binary tree. Here, the number of leaf nodes is equal to the number of internal nodes +1. The equation is: L=I+1, where L is the number of leaf nodes and I is the number of internal nodes.- A
**complete binary tree**has completely filled all levels of the tree with nodes. An exception to this is the lowest level of the tree. Also in the last or lowest level of this tree, every node should be on the left side if possible. **Partially ordered binary trees**are characterised by the fact that their roots always represent a minimum for the node of the subtree. In the direction of their leaves, the values of the nodes increase or at least remain at the same level.- A
**Binary tree is considered "perfect**denotes when all internal nodes have exactly two children and each external or leaf node is at the same level or depth within a tree. A perfect binary tree with height 'h' has 2h - 1 nodes. - If tree height O(logN), where "N" is the number of nodes, is present, from
**balanced binary trees**spoken. In these, the height of the left and right subtree of each node should vary by at most one. An AVL tree and a red-black tree are some common examples of data structures that can produce a balanced binary search tree. - At
**degenerated or pathological binary trees**each internal node has only one child. Such trees resemble a linked list in their performance.