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:

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