All sorting algorithms share the goal of outputting a sorted list, but the way that each algorithm
goes about this task can vary. When working with any kind of algorithm,
it is important to know how fast it runs and in how much space it operates in.
These factors are referred to as the algorithm's time complexity and space complexity.
Efficient sorting is important for optimizing the use of other algorithms (such as search and merge algorithms) which require input data in sorted lists.
Here are some known sort algorithms:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- QuickSort
When choosing a sorting algorithm, you need to consider the amount of data you are sorting and how much time you have to implement the algorithm. For example, QuickSort is a very efficient, but can be pretty tricky to implement. Bubble Sort is simple to implement, but slow. To sort small sets of data, Bubble Sort may be a better option since it can be implemented quickly, but for larger datasets, the speed of QuickSort might be worth the work of implementing the algorithm.
In this repository all the above mentioned sorting algorithms are implemented in the languages:
- Python
- C++
- Java