# How Do You Represent Binary Tree Using List in Data Structure?

//

Larry Thompson

In data structures, a binary tree is a hierarchical data structure that is used to represent a set of elements in a specific order. Each element in the binary tree is called a node.

The binary tree consists of nodes that are connected by edges. Each node can have at most two children, referred to as the left child and the right child.

## Representing Binary Tree Using List

One common way to represent a binary tree is by using a list or an array. This approach assigns a unique index to each node in the binary tree and stores the elements in the list based on their indices. The position of each element in the list determines its relationship with other elements in the binary tree.

To represent a binary tree using a list, we can follow a set of rules:

### Rule 1: Root Node

The first element of the list represents the root node of the binary tree.

### Rule 2: Left Child

The left child of any given node at index i can be found at index 2i+1 in the list.

### Rule 3: Right Child

The right child of any given node at index i can be found at index 2i+2 in the list.

### Rule 4: Parent Node

The parent node of any given node at index i can be found at index (i-1)/2 in the list (if i is not equal to zero).

This representation allows us to efficiently store and retrieve elements from the binary tree using simple mathematical calculations on indices.

## List Representation Example:

Consider the following example:

Binary Tree:

• Root: 1
• Left Child of 1: 2
• Right Child of 1: 3
• Left Child of 2: 4
• Right Child of 2: None
• Left Child of 3: None
• Right Child of 3: None

List Representation:

• Index [0]: Node with value = 1 (Root Node)
• Index [1]: Node with value = 2 (Left child of index [0])
• Index [3]: Node with value = None (No left child)
• Index [4]: Node with value = None (No right child)

“`html

..
“`

The above list representation shows how each node from the binary tree can be represented using indices. The nodes without children are represented as “None” for simplicity.

This method allows us to easily store and manipulate binary trees using a simple list or array. However, it is important to note that this representation assumes a complete binary tree, where all levels except possibly the last level are completely filled.

## Conclusion

In summary, representing a binary tree using a list is a convenient and efficient way to store and retrieve elements from the tree. By following the rules mentioned earlier, we can easily determine the relationship between nodes in the binary tree based on their indices in the list. This representation simplifies various operations on binary trees and is widely used in data structure implementations.