Why Quick Sort preferred for Arrays and Merge Sort for Linked Lists? – Searching and Sorting – Quick Sort in its general form is an in-place sort. whereas merge sort requires O(N) extra storage, N denoting the array size which may be quite expensive.
quick sort algorithm
QuickSort on Doubly Linked List – Searching and sorting -. The idea is simple, we first find out pointer to last node. Once we have pointer to last node, we can recursively sort the linked list using pointers to first and last nodes of linked list.
Iterative Quick Sort – Searching and Sorting – Partition process is same in both recursive and iterative. The same techniques to choose optimal pivot can also be applied to iterative version.
When does the worst case of Quicksort occur? – Searching and sorting – Since these cases are very common use cases, the problem was easily solved by choosing either a random index for the pivot.
stability in sorting algorithms – Searching and Sorting – Some sorting algorithms are stable by nature like Insertion sort, Merge Sort, Bubble Sort, etc. And some sorting algorithms are not, like Heap Sort, Quick Sort.
ShellSort – Searching and Sorting – ShellSort is mainly a variation of Insertion Sort. In insertion sort, we move elements only one position ahead. When an element has to be moved far ahead, many movements are involved.
Bucket Sort – Searching and sorting – A simple way is to apply a comparison based sorting algorithm. The lower bound for Comparison based sorting algorithm (Merge Sort, Heap Sort, Quick-Sort .. etc) is Ω(n Log n), i.e., they cannot do better than nLogn.
Counting sort – Searching and Sorting – Counting Sort is a sorting technique based on keys between a specific range. It works by counting the number of objects having distinct key values (kind of hashing).
Radix Sort – Searching and Sorting -The lower bound for Comparison based sorting algorithm (Merge Sort, Heap Sort, Quick-Sort .. etc is Ω(nLogn). i.e., they cannot do better than nLogn.
QuickSort – Searching and Sorting – Like Merge Sort, QuickSort is a Divide and Conquer algorithm. It picks an element as pivot and partitions.There are many different versions of quickSort that pick pivot in different ways.