---
title: "Doubly linked list and its merits"
subject: "Data Structure and Algorithm"
chapter: 4
key: "semester_4/data_structure_and_algorithm:doubly-linked-define-merits"
source: https://www.bctengineer.com/q/semester_4/data_structure_and_algorithm/doubly-linked-define-merits
site: BCT Engineering
---

# Doubly linked list and its merits

Data Structure and Algorithm · Chapter 4: Linked lists

- Asked in: 2068 Magh, 2 marks
- Video: [2.9 Introduction to Doubly Linked List in Data structures | DSA Tutorials](https://www.youtube.com/watch?v=nquQ_fYGGA4) — Jenny's Lectures CS IT
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_4/data_structure_and_algorithm/doubly-linked-define-merits
- Whole chapter: https://www.bctengineer.com/md/semester_4/data_structure_and_algorithm/chapter-4

## Question

Define doubly linked list and mention its merits.

## Short answer

A doubly linked list has nodes with prev and next pointers for bidirectional traversal. Merits: two-way traverse, O(1) deletion of a given node because predecessor is reachable via prev, easy insertion before/after a node, and efficient removal of last node if a rear pointer is kept.

## Answer

A **doubly linked list** is a list whose nodes each contain `info` and two pointers, `prev` (to the previous node) and `next` (to the next node), so the list can be traversed in either direction.
```text
NULL<-[ |A| ]<->[ |B| ]<->[ |C| ]->NULL
```
#### Merits
- Two-way traversal (forward and backward).
- Deletion of a given node is O(1) because its predecessor is available through `prev`.
- Insertion before or after a node is simple.
- Last node can be reached and removed easily if a `rear` pointer is kept.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What allows a doubly linked list to be traversed in either direction?
   A. A header node
   B. Circular links only
   C. Contiguous storage
   D. Each node has prev and next pointers
   Answer: D. The prev pointer gives backward movement. (Key point: Definition)

2. Why is deletion of a given node O(1)?
   A. Its predecessor is available through prev
   B. No pointers need changing
   C. The list is sorted
   D. The node is at index 0
   Answer: A. No search for the previous node is required. (Key point: Merit of deletion)

3. What makes inserting before a node simple?
   A. Nodes are contiguous
   B. prev gives access to the preceding node
   C. Head node holds data
   D. A rear pointer is mandatory
   Answer: B. Both neighbours can be reached from the node itself. (Key point: Insertion)

## Related in Data Structure and Algorithm

- [Insert and delete kth node in doubly linked list](https://www.bctengineer.com/question.md?key=semester_4%2Fdata_structure_and_algorithm%3Adoubly-insert-delete-kth) — Data Structure and Algorithm, chapter 4, asked 2×
- [Doubly vs singly linked list](https://www.bctengineer.com/question.md?key=semester_4%2Fdata_structure_and_algorithm%3Adoubly-vs-singly-linked) — Data Structure and Algorithm, chapter 4, asked 2×
- [Delete last node of doubly linked list](https://www.bctengineer.com/question.md?key=semester_4%2Fdata_structure_and_algorithm%3Adelete-end-node-doubly) — Data Structure and Algorithm, chapter 4
- [Doubly linked list advantages and disadvantages](https://www.bctengineer.com/question.md?key=semester_4%2Fdata_structure_and_algorithm%3Adoubly-linked-define-pros-cons) — Data Structure and Algorithm, chapter 4
- [Insert before Kth node in doubly linked list](https://www.bctengineer.com/question.md?key=semester_4%2Fdata_structure_and_algorithm%3Adoubly-insert-before-kth) — Data Structure and Algorithm, chapter 4
- [Delete Kth node from doubly linked list](https://www.bctengineer.com/question.md?key=semester_4%2Fdata_structure_and_algorithm%3Adoubly-delete-kth) — Data Structure and Algorithm, chapter 4
