# Binary Tree representation (Sequential and Link)

Learn: In this article we are going to study about the **representation of binary tree**. What are the different representations of trees in the memory? What is **linked list representation of binary tree**? What is **sequential representation of binary tree**?

Submitted by Amit Shukla, on October 06, 2017

I would like to request you to please read BINARY TREE DEFINATION AND ITS PROPERTIES to understand basics of binary trees and its different types.

## Representing Binary Tree in memory

Let **T** be a Binary Tree. There are two ways of representing **T** in the memory as follow

**Sequential Representation of Binary Tree.****Link Representation of Binary Tree.**

### 1) Linked Representation of Binary Tree

Consider a Binary Tree **T**. **T** will be maintained in memory by means of a linked list representation which uses three parallel arrays; **INFO**, **LEFT**, and **RIGHT** pointer variable **ROOT** as follows. In Binary Tree each node **N** of **T** will correspond to a location **k** such that

**LEFT [k]**contains the location of the left child of node**N**.**INFO [k]**contains the data at the node**N**.**RIGHT [k]**contains the location of right child of node**N**.

**Representation of a node:**

In this representation of binary tree root will contain the location of the root **R** of **T**. If any one of the subtree is empty, then the corresponding pointer will contain the null value if the tree **T** itself is empty, the **ROOT** will contain the null value.

**Example**

Consider the binary tree **T** in the figure. A schematic diagram of the linked list representation of **T** appears in the following figure. Observe that each node is pictured with its three fields, and that the empty subtree is pictured by using x for null entries.

**Binary Tree**

**Linked Representation of the Binary Tree**

### 2) Sequential representation of Binary Tree

Let us consider that we have a tree **T**. let our tree **T** is a binary tree that us complete binary tree. Then there is an efficient way of representing **T** in the memory called the sequential representation or array representation of **T**. This representation uses only a linear array TREE as follows:

- The root
**N**of**T**is stored in**TREE [1]**. - If a node occupies
**TREE [k]**then its left child is stored in**TREE [2 * k]**and its right child is stored into**TREE [2 * k + 1]**.

**For Example:**

Consider the following Tree:

**Its sequential representation is as follow: **

Comments and Discussions!