This repository contains the following several sorting algorithms and some with their optimised forms as well.
-
Selection Sort
The smallest element is selected from the unsorted array and swapped with the leftmost element, and that element becomes a part of the sorted array. This process continues moving unsorted array boundary by one element to the right.
-
Bubble Sort
Bubble sort is a basic algorithm for arranging a string of numbers or other elements in the correct order. The method works by examining each set of adjacent elements in the string, from left to right, switching their positions if they are out of order.
-
Recursive Bubble Sort
Recursive bubble sort is the sorting algorithm used to arrange a list in a particular form that can be ascending or descending in numerical or lexicographical order using recurrsion technique.
-
Insertion Sort
Insertion sort is a sorting algorithm in which the elements are transferred one at a time to the right position. In other words, an insertion sort helps in building the final sorted list, one item at a time, with the movement of higher-ranked elements. An insertion sort has the benefits of simplicity and low overhead.
-
Recursive Insertion Sort
Same above insertion sort technique using recursion.
-
Merge Sort
-
Iterative Merge Sort
-
Quick Sort
-
Iterative Quick Sort
-
Heap Sort
-
Counting Sort
-
Radix Sort
-
Bucket Sort
-
Shell Sort
-
Comb Sort