Which of the following is true for a doubly linked list compared to a singly…
2025
Which of the following is true for a doubly linked list compared to a singly linked list?
- A.
It uses more memory due to the additional pointer stored in each node.
- B.
It reduces the time complexity of every operation compared to a singly linked list.
- C.
It does not allow traversal in both directions.
- D.
It is faster to search for an element.
Attempted by 117 students.
Show answer & explanation
Correct answer: A
A singly linked list node stores only its data plus a pointer to the next node, so movement is possible in one direction only. A doubly linked list node adds a second pointer to the previous node. That single extra field per node is the entire structural difference between the two lists, and every comparison between them, memory, traversal direction, and which one operation gets faster, follows directly from it.
Checking each offered claim against that one difference:
Memory: a doubly linked list node always carries one more pointer field than a singly linked list node, so it always uses more memory per node, regardless of list length.
Time complexity: only operations that need a node's predecessor (deleting a given node, or inserting before it) get faster, because the previous pointer gives direct access instead of a scan from the head; traversal, inserting after a node, and searching for an arbitrary element remain asymptotically the same in both, so a blanket "every operation is more efficient" claim is false.
Both-direction traversal: the previous pointer lets you move backward from any node, so a doubly linked list explicitly supports both-direction traversal rather than lacking it.
Search speed: finding an arbitrary element still means scanning node by node from a start point in both structures, so the worst-case search cost is identical.
Re-deriving from the definition (doubly linked list = singly linked list + a reverse pointer) confirms only the memory claim holds unconditionally; the traversal-direction and search-speed claims are the opposite of true, and the time-complexity claim is true only for the narrow case of deleting an already-referenced node.
So the statement that is true for a doubly linked list compared to a singly linked list is: it uses more memory due to the additional pointer stored in each node.