Clean example implementations of data structures and algorithms written in different languages.
-
Contributions are always welcome. Language doesn't matter. Just make sure you're implementing an algorithm.
-
PRs are welcome. To begin developing, follow the structure:
algorithm_name/language-name/file_name.extension e.g bubble_sort/python/bubble_sort.py
-
If there is an implementation of the same algorithm in your language, add your username in front of the file name. E.g., if the already existing algorithm is binary_sort and your user name is my_name, just name the new file as 'my_name_binary_sort'.
-
Please include a description for the algorithm that you are implementing. It doesn't matter if it's copied from somewhere as long as it helps people that are learning new algorithm.
-
Graphical examples would be very helpful too.
-
Don't forget to include tests.
-
Don't remove previous implementations of algorithms. Just add a new file with your own implementation.
-
Beautify and cleanup your code for easier reading.
Curated list of resources dealing with algorithms.
-
Books
-
Sites
- Algorithms and Data Structures -Emaxx
- All Good Tutorials on Codeforces
- DS & Algo + Maths + C++
- Data Structures and Algorithms
- Algorithms - Tutorials point
- Algorithms - Princetone edu
- Data structures and algorithms - Hackr
- Data science - Topcoder
- Fundamentals Of Algorithms- Geeks For Geeks
- Visual Algorithm - visualising data structures and algorithms through animation
- Java Algorithms - Geeks For Geeks
- Data Structure and Algorithms Visualization
- Best Data structures and algorithms Tutorials - Coursesity
-
Online classes (Free)
- Coursera
- Khan Academy
- Udacity
- EdX
- Stony Brook University
-
Online classes (paid)
-
Coding Practice Sites
To the extent possible under law, Zoran Pandovski has waived all copyright and related or neighboring rights to this work.