NOTE: This repository was made for practicing algorithms for ZIO (India). At the time, I did not have robust resources for studying the content. Some algorithms listed here might be complicated (e.g. the way quicksort swapping works), incomplete (quicksort doesn't work with duplicates), or inefficient (mergesort doesn't use the existing destination array for the merge, wasting memory.) Use this repository at your own risk. Do not use any of the code here in production!
A new repository is being created, which implements the below and more data structures/algorithms in the C programming language. The code will also be commented to allow easy understanding, and will allow for generics. That repository will replace this one when the code is stable.
This repository contains some implementations of algorithms which are in syllabus of the INOI.
Note: Refer to the Webpage for a complete index.
- The
*
denotes that the file is not available. - The
^
denotes that the file is a Unit Test, instead of a demo. - The
-
denotes that the file is an executable program.
Note: The C++ Solutions are just ports of the Python solutions and thus may not be the most efficient way to implement the algorithm in that programming language.
Name of Algorithm | Language | Link to file | Link to demo |
---|---|---|---|
Binary Search | Python | File | File* |
Merge Sort | Python | File | File |
Merge Sort | C++ | File | File- |
Quicksort | Python | File | File |
Quicksort | C++ | File | File- |
Breadth First Search | Python | File | File |
Breadth First Search | Python | File | File^ |
Breadth First Search | Python | File | File^ |
Breadth First Search | C++ | File | File- |
Depth First Search | Python | File | File^ File* |