# What Is Insertion in Linked List in Data Structure?

//

Heather Bennett

What Is Insertion in Linked List in Data Structure?

A linked list is a fundamental data structure used in computer science to store and manage a collection of data elements. It consists of a series of nodes, each containing a value and a reference (or link) to the next node in the list. One of the key operations performed on linked lists is insertion, which involves adding a new node at a specific position within the list.

## Types of Insertion

In linked lists, there are three common types of insertions:

### 1. Insertion at the Beginning

To insert a new node at the beginning of a linked list, we need to:

• Create a new node with the desired value.
• Set the next reference of the new node to point to the current first node.
• Update the reference of the head (the starting point of the list) to point to the new first node.

This type of insertion has a time complexity of O(1) as it only requires constant time operations.

### 2. Insertion at the End

To insert a new node at the end of a linked list, we need to:

• Create a new node with the desired value.
• If the list is empty (i.e., there are no nodes), update both head and tail references to point to this new node.
• If there are existing nodes, set the next reference of the current last node to point to this new node and update tail reference accordingly.

Similar to insertion at the beginning, this type also has a time complexity of O(1) as it performs constant time operations.

### 3. Insertion at a Specific Position

To insert a new node at a specific position in a linked list, we need to:

• Create a new node with the desired value.
• Traverse the list to find the node after which we want to insert the new node.
• Set the next reference of the new node to point to the next node of the current position (found in the previous step).
• Update the next reference of the current position to point to the new node.

This type of insertion has a time complexity of O(n), where n is the size of the list, as it requires traversing through potentially all nodes until reaching the desired position.

## Conclusion

In summary, insertion in a linked list allows us to add new nodes at different positions within this data structure. Whether it’s inserting at the beginning, end, or a specific position, understanding how these operations work is crucial for effectively working with linked lists. By using appropriate techniques and considering time complexity, we can efficiently manipulate and utilize linked lists in various applications.