By BYJU'S Exam Prep

Updated on: September 25th, 2023

The major difference between singly linked list and doubly linked list is that a singly linked list node stores the address of the subsequent node, whereas a doubly linked list node stores the addresses of both the subsequent node and the preceding node.

The difference between a singly linked list and a doubly linked list is that a singly linked list can only be traversed in one direction, whereas a doubly linked list can be accessed both ways. Let us check the difference between a singly linked list and a doubly linked list, along with a brief introduction about them.

Download Formulas for GATE Computer Science Engineering – Programming & Data Structures

The table shows the difference between Singly Linked List and Doubly Linked List based on various parameters such as memory space, time complexity etc.

The difference between a Singly Linked List and a Doubly Linked List is that a singly linked list is a linked list with nodes that each have a data field and a field that points to the node after it in the line of nodes. In comparison, a doubly linked list is a list with the data field, a text field that goes to the next node in the series, and a previous field that points to the first node in the sequence.

## What is a Singly Linked List?

A singly linked list is also known as a linked list. A singly linked list is a collection of nodes, each having two parts: the data part and the address part. Because each node refers to another node via its address part, the singly linked can also be called a chain. A singly linked list can be used for various operations, such as insertion, deletion, and traversal.

## What is a Doubly Linked List?

Another type of linked list is a doubly linked list. It is called a doubly linked list because it has two addresses, whereas a singly linked list only has one. It is a list with three parts: one for data and the other two for pointers, namely previous and next. The previous pointer holds the previous node’s address, and the next pointer holds the next node’s address. As a result, we can say that the list has two references, forward and backward, to traverse in either direction.