Skip to content

swagatata/ds_and_algos

Repository files navigation

We are aiming to provide c++ & python code for standard textbook data structures and algorithms.

Currently, the following algorithms are working:

* Kruskals
* Matrix Chain Multiplication - Optimization
* Printing/Generating all the distinct permutations (anagrams) of a string


There are some other algorithms that can be used:

* The Josephus Problem
* Breadth First Search
* Depth First Search

In terms of data structures, the following are available:

* An adjacency matrix representation of a graph (in C++)
* An adjacency list representation of a graph (C++)
* A class that provides all the comparison operators based on the presence of a cmp function
  or a less than operator in a class (see: default_operators.hpp)

Code in the CPP directory is built and tested using make:

$ cd cpp
$ make
... builds and tests all the algorithms.

Similarly, code in the java directory is compiled using make. You must
have the JDK in your PATH. You can optionally use the IntelliJ project
file to load the code in your IDE.

$ cd java
$ make
... builds all the Java classes and creates a jar file in java/build.

There's also a folder for machine learning that contains a simple gradient
descent learner for the Iris dataset. It has a train:test dataset ratio of 1:4
and produces 95.3% accuracy on the test dataset. More to come.

This codebase is a work in progress. Treat all the code present here as example code. Functions
and data members may appear and disappear at will.

About

Data Structures & Algorithms in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published