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