# Sorting Algorithms

Basics of algorithms in computer science

# Sorting Algorithms

A sorting algorithm is an algorithm that puts elements of a list in a certain order. Most frequently used orders are numerical order and alphabetical order (often referred to as “lexicographical” order).

There are numerous sorting algorithms such as:

Insertion Sort — Insertion sort is a simple sorting algorithm that builds the final sorted array (or list) one item at a time. An insertion sort is less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort. A simple example of insertion sort is when people manually sort cards in their hand to they have a clearer picture of how to play their cards. Insertion sorts provide several advantages:

• Simple implementation
• Efficient for very small data sets, can sort a list as it receives it
• Memory efficient

Selection Sort — The Selection sort algorithm is based on the idea of finding the minimum or maximum element in an unsorted array and then putting it in its correct position in a sorted array.

Bubble Sort — Compare and swapping two elements like small soap bubbles and hence the name given as bubble sort.

Merge Sort — Merge Sort divides an input array (numeric or alpha numeric) into two halves and then merges the two sorted halves. A merge() function is used for merging the two halves.

Quick Sort- Quick Sort is a type of “divide and conquer algorithm”. It picks an element (numeric or alphanumeric) as a pivot and then partitions the array around the pivot. There are many different methods for a quick sort to pick a pivot

o Pick the first element as pivot.

o Pick the last element as pivot

o Pick a random element as pivot.

o Pick the median as pivot.

Timsort — TimSort is a sorting algorithm that is a sort based on Insertion Sort and Merge Sort. Timsort first analyses a list that it is trying to sort and then chooses the best sorting approach based on the analysis of the list. Timsort makes use of Insertion sort and Mergesort

--

--

Passionate author, strategic investor, financial advisor