Sort algorithms are very basic and important algorithms in computational world. In age of big data, with billions of data in clouds and systems, is essential organize and sort data using fast and effective algorithms.
I implemented the same sort algorithms in three different languages(Java,C++ and Python). The main objective of this, is explore the different characteristics of each language(pointers in c++,interfaces/abstract classes/polymorphism in Java and the fexibility of python) and fix algorithm idea of each sort algorithm.
In this repository you will find the following sort algorithms:
- BubbleSort
- InsertionSort
- SelectionSort
- GnomeSort
- MergeSort
- QuickSort
- QuickSort using median of three (optimization)
- CountSort (only in Java)
In each algorithm file , you will find some variable implementation of same algorithm (recursive,iterative,bidirectional,...).
For validation test cases,has been used Junit for Java , Unittest for python and lboost for C++.
- Ionésio Junior