Tim Sort Algorithm is based on radix sort & bubble sort. It's stable algorithm which works in O(n Log n) time, is used in Java's Array.sort(). It first sorts using small pieces, later sorts each with merge sort.