This repository provides several classic algorithms and data structures in Computer Science, as well as some extra problems that are frequently encountered in programming challenges.
In order to achieve greater coverage and encourage more people to contribute to the project, the algorithms are available in the following languages: C, C++, Java, Python, Go, Ruby, Javascript, Swift, Rust, Scala and Kotlin.
Sorting Algorithms |
|
|
|
|
|
|
|
|
|
|
|
Bogosort |
|
|
|
|
|
|
|
|
|
|
|
Bubble Sort |
|
|
|
|
|
|
|
|
|
|
|
Bucket Sort |
|
|
|
|
|
|
|
|
|
|
|
Cocktail Sort |
|
|
|
|
|
|
|
|
|
|
|
Comb Sort |
|
|
|
|
|
|
|
|
|
|
|
Counting Sort |
|
|
|
|
|
|
|
|
|
|
|
Gnome Sort |
|
|
|
|
|
|
|
|
|
|
|
Heapsort |
|
|
|
|
|
|
|
|
|
|
|
Insertion Sort |
|
|
|
|
|
|
|
|
|
|
|
Merge Sort |
|
|
|
|
|
|
|
|
|
|
|
Quicksort |
|
|
|
|
|
|
|
|
|
|
|
Radix Sort |
|
|
|
|
|
|
|
|
|
|
|
Selection Sort |
|
|
|
|
|
|
|
|
|
|
|
Shell Sort |
|
|
|
|
|
|
|
|
|
|
|
Timsort |
|
|
|
|
|
|
|
|
|
|
|
Extra |
|
|
|
|
|
|
|
|
|
|
|
Find Distinct Subsets |
|
|
|
|
|
|
|
|
|
|
|
Isogram |
|
|
|
|
|
|
|
|
|
|
|
Leibniz Formula for Pi |
|
|
|
|
|
|
|
|
|
|
|
Maze-Solving Algorithm |
|
|
|
|
|
|
|
|
|
|
|
Palindrome |
|
|
|
|
|
|
|
|
|
|
|
Queue using Stacks |
|
|
|
|
|
|
|
|
|
|
|
Rotten Oranges |
|
|
|
|
|
|
|
|
|
|
|
Two-Sum Problem |
|
|
|
|
|
|
|
|
|
|
|
Feel free to contribute to the project, all contributions are welcome. 😁
If you have questions about how to contribute, take a look at the CONTRIBUTING file.