This project contains implementations of various sorting algorithms and their analysis.
- Bubble Sort
- Optimised Bubble Sort
- Counting Sort
- Flash Sort
- Heap Sort
- Insertion Sort
- Binary Insertion Sort
- Merge Sort
- Quick Sort
- Radix Sort
- Selection Sort
- Shaker Sort
- Shell Sort
Each algorithm has two functions: one for the algorithm itself and one for counting the number of comparisons made during the sorting.
The experimental_results folder contains the results of running these algorithms on different datasets.