
HYBRID SORTS : 

A hybrid algorithm is a combination of two or more algorithms that solve the same problem . Algorithms are selected depending on the data and switching between them over the course of the algorithm. This is done to combine desired features of each, so that the overall algorithm is better than the individual components.

Hybrid algorithms exploit the good properties of different methods by applying them to problems they can efficiently solve. For example, search is efficient when the problem has many solutions, while inference is efficient in proving unsatisfiability of overconstrained problems.

Examples of hybrid sorts are :

1. Tim Sort
2. Quick_Insert Sort


TIM SORT : 

It is highly optimized hybrid sorting algorithm . Tim Sort combines merge sort, insertion sort, together with additional logic (including binary search) in the merging logic.
First small pieces is soterd using Insertion Sort, then merges the pieces using merge of merge sort , to get the desired sorted array .

IMPORTANT : 

We should break the array in pieces of size 32-64 , as insertion sort work good on small number of elements . 
After sorting individual pieces, we merge them one by one. 

TIME COMPLEXITY :  Algorithm works in O(n Log n) time .



QUICK_INSERT SORT :

The Quicksort is one of the fastest sorting algorithms for sorting large lists of data and the Insertion sort is a fast sorting algorithms for sorting very small lists of data . 
Thus these two sorts can be combined to come up with a very simple and effective method for sorting large lists.

IMPORTANT : 

We should break the array in pieces of size 32-64 , as insertion sort work good on small number of elements . 
QuickSort is performed and when the size of pieces becomes in range we perform Insertion sort . 

TIME COMPLEXITY :  Algorithm works in O(n Log n) time .


REQUIREMENTS : Familiar with sorting algorithms and little knowldege in recursion and backtracking .






