StreakPeaked· Practice

ExamsGATETechnical

Let SLLdel be a function that deletes a node in a singly-linked list given a pointer to the node and a pointer to the head of the list. Similarly, let DLLdel be another function that deletes a node in a doubly-linked list given a pointer to the node and a pointer to the head of the list. Let n denote the number of nodes in each of the linked lists. Which one of the following choices is TRUE about the worst-case time complexity of SLLdel and DLLdel?

  1. SLLdel is O(1) and DLLdel is O(n)
  2. Both SLLdel and DLLdel are O(log(n))
  3. Both SLLdel and DLLdel are O(1)
  4. SLLdel is O(n) and DLLdel is O(1)

Correct answer: SLLdel is O(n) and DLLdel is O(1)

Solution

SLLdel has a worst-case time complexity of O(n) because it may need to traverse the list to find the node to delete, while DLLdel can delete a node in O(1) time since it has direct access to both the previous and next nodes, allowing for immediate adjustments to the pointers.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →