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.

linkedlist

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.

dll

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

Team player software engineer with a can-do attitude, phenomenal time management skills, and a strong user focus Has developed several web and mobile apps

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.