Skip to main content

A library to help developers use complex algorithms without having to code it themselves

Project description

AlgoSolver

Build Status codecov PyPI

Overview

My goal is to develop a library in python to help programmers solve a variety of algorithms style questions. For example, with Dynamic Programming problems the main things we need to know are if we are using a 1D of 2D array, what the base case is, and what the recurrence relation is. With this in mind, we can create multiple templates for different types of questions to take out the implementation process. I wanted to have a special focus on graph algorithms for the library. This will allow programmers to spend more of their time thinking about high level design questions.

Installation

To install, run the following:

pip install AlgoSolver

Usage

Searching

The following code will find the index of a given number 'num' in an array 'arr' .

arr: An array you are searching through. num: A number you are searching for.

from algo_solver import searching as s

index = s.binary_search(arr = [1,5,3,2], num = 3)
print(index)

Graphs

The following code will give a set of all nodes in the graph through bfs. It is given a graph 'graph' and starting point 'start'.

graph: A graph given as an input in the form: {x: [y]], [y: [z]}, ect; start: A node which you are starting at.

from algo_solver import graphs as g

index = g.bfs(graph = {2: [3], 3: []} start = 2)
print(index)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

AlgoSolver-0.1.2.tar.gz (18.6 kB view hashes)

Uploaded Source

Built Distribution

AlgoSolver-0.1.2-py3-none-any.whl (10.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page