Unit 2: Linked Lists - Practice Quiz

CSE205 — Data Structures And Algorithms 50 Questions
0 Correct 0 Wrong 50 Left
0/50

1 What are the two main components of a node in a singly linked list?

A. Data and Next Pointer
B. Head and Tail
C. Value and Reference Count
D. Data and Index

2 Which of the following best describes the memory allocation of a linked list?

A. Static and Contiguous
B. Dynamic and Contiguous
C. Dynamic and Non-contiguous
D. Static and Non-contiguous

3 What is the time complexity to access the Nth element in a singly linked list?

A. O(n^2)
B. O(1)
C. O(log n)
D. O(n)

4 Which pointer is required to maintain access to the entire linked list?

A. Tail pointer
B. Null pointer
C. Head pointer
D. Middle pointer

5 In C, which function is commonly used to dynamically allocate memory for a new node?

A. malloc()
B. create()
C. new()
D. alloc()

6 What is the value of the 'next' pointer in the last node of a grounded singly linked list?

A. Address of the previous node
B. Address of the Head
C. NULL
D. Garbage value

7 Which of the following is a disadvantage of a singly linked list compared to an array?

A. Expensive insertion at the beginning
B. Fixed size
C. Cannot expand dynamically
D. Memory wastage due to pointers

8 In a self-referential structure definition for a node, what is the data type of the pointer member?

A. struct node*
B. char*
C. int*
D. void*

9 What condition indicates that a singly linked list is empty?

A. head->next == NULL
B. head->data == 0
C. head == tail
D. head == NULL

10 What is the time complexity for inserting a node at the beginning of a singly linked list?

A. O(log n)
B. O(1)
C. O(n)
D. O(n log n)

11 When traversing a singly linked list, what is the condition to stop the loop?

A. ptr == head
B. ptr->next == NULL
C. ptr == NULL
D. ptr->data == NULL

12 Which scenario results in an 'Overflow' condition in a linked list?

A. The list contains a loop
B. The Free Storage Pool (Avail List) is empty
C. The list is empty
D. The head pointer is lost

13 What is the correct order of operations to insert a node 'NEW' between node 'A' and node 'B' (where A->next is B)?

A. A->next = NEW; NEW->next = B;
B. NEW->next = B; A->next = NEW;
C. NEW->next = A; A->next = B;
D. B->next = NEW; NEW->next = A;

14 What is the time complexity of deleting the last node in a singly linked list (without a tail pointer)?

A. O(1)
B. O(n^2)
C. O(n)
D. O(log n)

15 Which function is used to release the memory of a deleted node back to the system?

A. free()
B. dalloc()
C. delete()
D. remove()

16 What is a 'Header Linked List'?

A. A list that contains a special node at the beginning containing metadata
B. A list sorted in ascending order
C. A list with two pointers per node
D. A list where the last node points to the head

17 In a 'Grounded' Header Linked List, what does the last node point to?

A. NULL
B. Random Memory
C. The Header Node
D. The First Data Node

18 In a 'Circular' Header Linked List, what does the last node point to?

A. The Last Node itself
B. The First Data Node
C. NULL
D. The Header Node

19 What is the primary advantage of using a Header node?

A. It uses less memory
B. It allows binary search
C. It automatically sorts data
D. It simplifies insertion and deletion algorithms by removing special cases for the first node

20 What defines a Circular Linked List (without a header)?

A. Nodes are arranged in a circle visually only
B. Last node points to NULL
C. Last node points to the first node
D. Head is NULL

21 What is the loop termination condition when traversing a circular linked list starting from head?

A. ptr->next == head
B. ptr == head (after starting)
C. ptr == NULL
D. ptr->next == NULL

22 Which data structure allows traversal in both forward and backward directions?

A. Two-way (Doubly) Linked List
B. Singly Linked List
C. Circular Singly Linked List
D. Stack

23 How many pointers does a standard node in a Doubly Linked List contain?

A. Two
B. One
C. Zero
D. Three

24 What is the memory overhead of a Doubly Linked List compared to a Singly Linked List?

A. Same
B. Requires one extra pointer per node
C. 50% less
D. Requires double the data space

25 In a Doubly Linked List, to delete a node P (not first/last), which operations are needed?

A. head = P->next;
B. P->prev->next = P->next; P->next->prev = P->prev;
C. P->next = NULL; P->prev = NULL;
D. P->prev->next = P->prev; P->next->prev = P->next;

26 What is the time complexity to delete a node in a Doubly Linked List if the pointer to that node is given?

A. O(1)
B. O(log n)
C. O(n log n)
D. O(n)

27 Which list is best suited for implementing a 'Back' and 'Forward' button in a browser?

A. Doubly Linked List
B. Circular Linked List
C. Queue
D. Singly Linked List

28 In a Circular Doubly Linked List, what does the left (prev) pointer of the first node point to?

A. The first node
B. NULL
C. The second node
D. The last node

29 Which condition indicates 'Underflow' in a linked list?

A. Traversing past the end
B. Allocating NULL
C. Inserting into a full memory
D. Deleting from an empty list

30 If a Singly Linked List is effectively used as a Stack, which end is most efficient for Push and Pop?

A. Push at End, Pop at End
B. Push at End, Pop at Start
C. Push at Start, Pop at Start
D. Push at Start, Pop at End

31 Can Binary Search be effectively applied to a standard Linked List?

A. No, because random access is not allowed
B. Yes, with O(n) complexity
C. No, because it's not sorted
D. Yes, with O(log n) complexity

32 What happens if you free a node without updating the pointers pointing to it?

A. Memory Leak
B. Stack Overflow
C. List becomes circular
D. Dangling Pointer

33 What is the logical structure of a linked list?

A. Linear
B. Grid
C. Non-Linear
D. Hierarchical

34 In a Doubly Linked List, if p points to a node, what is p->next->prev equivalent to (assuming p is not last)?

A. p->prev
B. NULL
C. p
D. p->next

35 Which algorithm is commonly used to detect a cycle (loop) in a linked list?

A. Binary Search
B. Quick Sort
C. Floyd’s Cycle-Finding Algorithm (Tortoise and Hare)
D. Dijkstra's Algorithm

36 To reverse a singly linked list, how many pointers are typically required during the traversal?

A. 3
B. 4
C. 1
D. 2

37 What is a Sentinel node?

A. The last node in a list
B. A dummy node (like a header) used to simplify boundary conditions
C. A node responsible for memory allocation
D. A node with NULL data

38 Which polynomial operation is most efficiently handled by linked lists?

A. Evaluation
B. Roots finding
C. Addition of sparse polynomials
D. Graphing

39 In a Two-way list, inserting a node at the beginning requires changing how many existing pointers (excluding the new node's pointers)?

A. 1
B. 0
C. 3
D. 2

40 What data type is head typically declared as?

A. struct node*
B. struct node
C. void
D. int

41 If ptr is a pointer to a node, how do you access the data of that node in C?

A. *ptr.data
B. ptr->data
C. ptr.data
D. &ptr.data

42 Which operation typically runs faster on a Circular Linked List than a standard Singly Linked List?

A. Binary Search
B. Sorting
C. Deleting the first node while maintaining a pointer to the last node
D. Finding the Nth node

43 Which of the following is NOT a type of linked list?

A. Circular Linked List
B. Doubly Linked List
C. Indexed Linked List
D. Singly Linked List

44 Memory for a linked list node is allocated from which segment?

A. Code Segment
B. Heap
C. Data Segment
D. Stack

45 What is the main disadvantage of a Circular Linked List?

A. Cannot traverse backwards
B. Risk of infinite loops during traversal if not handled carefully
C. Requires double memory
D. Insertion is O(n)

46 To concatenate two singly linked lists (List A and List B) into one, what operation is required?

A. Copy all nodes of B to A
B. Make head of A point to head of B
C. Traverse B to end and point to A
D. Traverse A to the end and make the last node point to head of B

47 How do you represent a Polynomial using a linked list?

A. Nodes store value of x
B. Array of integers
C. Nodes store coefficient and exponent: [3,2] -> [5,0] -> NULL
D. Nodes store only coefficients

48 In a doubly linked list, what does head->prev point to?

A. NULL
B. The second node
C. The tail
D. Random garbage

49 When deleting a node from a linked list, why is a temporary pointer often used?

A. To store the address of the node to be freed so links can be rewired first
B. To allocate new memory
C. To speed up deletion
D. It is required by the C syntax

50 Which complexity best describes sorting a Linked List using Merge Sort?

A. O(n log n)
B. O(n)
C. O(1)
D. O(n^2)