Bubble, selection and insertion sort all have to examine each element of the list, so it is really an awful waste of time. The running time for them is all O(n2), these ways of sorting are quite time-consuming. Thus, more efficient ways are introduced, they are merge sort, quick sort, and Timsort which is python standard sorting algorithm.
We describe the running time for program with 'Big Oh' notation.For example, the running time for bubble sort is always O(n2). We focused on the efficiency of merge, quick and Timsort in different situation.Merge sort a recursive algorithm that continually splits a list in half. It means if the list is empty or has one item, it is sorted by the base case L=L[:], If the list has more than one item, we split the list and recursively implement a merge sort on both halves. The quick sort is very similar to merge sort, firstly we select a pivot point usually is the first element, and it is used to assist with splitting the list. However, quick sort does not use additional storage.
The most common way in term of list sorting is Timsort, the wrost case is
I learned a lot about efficiency and theory of list sorting, they have own advantages in different situation, I look forward to knowing more about how to choose most efficiently way to sort list when deal with various lists.