Which of the following sorting algorithms can be used to sort a random linked list with minimum time complexity?

**(A)** Insertion Sort

**(B)** Quick Sort

**(C)** Heap Sort

**(D)** Merge Sort

**Answer:** **(D)** **Explanation:** Both Merge sort and Insertion sort can be used for linked lists.

The slow random-access performance of a linked list makes other algorithms (such as quicksort) perform poorly, and others (such as heapsort) completely impossible.

Since worst case time complexity of Merge Sort is O(nLogn) and Insertion sort is O(n^2), merge sort is preferred.

See following for implementation of merge sort using Linked List.

https://www.geeksforgeeks.org/merge-sort-for-linked-list/

Quiz of this Question

## Recommended Posts:

- Data Structures | Linked List | Question 14
- Data Structures | Linked List | Question 10
- Data Structures | Linked List | Question 9
- Data Structures | Linked List | Question 8
- Data Structures | Stack | Question 5
- Data Structures | Linked List | Question 7
- Data Structures | Linked List | Question 6
- Data Structures | Binary Search Trees | Question 1
- Data Structures | Linked List | Question 5
- Data Structures | Queue | Question 3
- Data Structures | Tree Traversals | Question 4
- Data Structures | Linked List | Question 3
- Data Structures | Linked List | Question 2
- Data Structures | Stack | Question 1
- Data Structures | Linked List | Question 1