Difference between Singly linked list and Doubly linked list

Introduction to Singly linked list : A singly linked list is a set of nodes where each node has two fields ‘data’ and ‘link’. The ‘data’ field stores actual piece of information and ‘link’ field is used to point to next node. Basically ‘link’ field is nothing but address only.


Introduction to Doubly linked list : A Doubly Linked List (DLL) contains an extra pointer, typically called previous pointer, together with next pointer and data which are there in singly linked list.


Singly linked list vs Doubly linked list

Singly linked list (SLL) Doubly linked list (DLL)
SLL has nodes with only a data field and next link field. DLL has nodes with a data field, a previous link field and a next link field.
linkedlist dll
In SLL, the traversal can be done using the next node link only. In DLL, the traversal can be done using the previous node link or the next node link.

The SLL occupies less memory than DLL as it has only 2 fields. The DLL occupies more memory than SLL as it has 3 fields.
Less efficient access to elements. More efficient access to elements.

My Personal Notes arrow_drop_up