Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/OmkarPathak/pygorithm

A Python module for learning all major algorithms
https://github.com/OmkarPathak/pygorithm

algorithms data-structures modules python3

Last synced: about 1 month ago
JSON representation

A Python module for learning all major algorithms

Awesome Lists containing this project

README

        

Pygorithm
=========

.. image:: https://img.shields.io/packagist/l/doctrine/orm.svg
:target: https://github.com/OmkarPathak/pygorithm/blob/master/LICENSE
:alt: Packagist

.. image:: http://pepy.tech/badge/pygorithm
:target: http://pepy.tech/project/pygorithm
:alt: Downloads

.. image:: https://readthedocs.org/projects/pygorithm/badge/?version=latest
:target: http://pygorithm.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://img.shields.io/badge/Python-3.6-brightgreen.svg
:target: https://github.com/OmkarPathak/pygorithm
:alt: Python 3.6

.. image:: https://img.shields.io/badge/Say%20Thanks-%F0%9F%A6%89-1EAEDB.svg
:target: https://saythanks.io/to/[email protected]
:alt: Say Thanks!

.. image:: https://img.shields.io/github/contributors/omkarpathak/pygorithm.svg
:target: https://github.com/OmkarPathak/pygorithm/graphs/contributors
:alt: Contributors

| A Python module to learn all the major algorithms on the go!
| Purely for educational purposes

.. image:: https://images.gitads.io/pygorithm
:target: https://tracking.gitads.io/?campaign=gitads&repo=pygorithm&redirect=gitads.io

Features
~~~~~~~~

* Super easy to use
* A very easy to understand `Documentation `_
* Get the code right in your editor
* Get time complexities on the go

Installation
~~~~~~~~~~~~

* Just fire the following command in your terminal:

::

pip3 install pygorithm

- | It's that easy. If you are using Python 2.7 use pip instead. Depending on your
| permissions, you might need to use ``pip install --user pygorithm`` to install.

* Or you can download the source code from `here `_, and then just install the package using

::

python setup.py install

Quick Start Guide
~~~~~~~~~~~~~~~~~

* To sort your list

.. code:: python

>>> from pygorithm.sorting import bubble_sort
>>> my_list = [12, 4, 3, 5, 13, 1, 17, 19, 15]
>>> sorted_list = bubble_sort.sort(my_list)
>>> print(sorted_list)
>>> [1, 3, 4, 5, 12, 13, 15, 17, 19]

* To get the code for function used

.. code:: python

>>> from pygorithm.sorting import bubble_sort
>>> code = bubble_sort.get_code()
>>> print(code)

* To get the time complexity of an algorithm

.. code:: python

>>> from pygorithm.sorting import bubble_sort
>>> time_complexity = bubble_sort.time_complexities()
>>> print(time_complexity)

* To see all the available functions in a module, you can just type ``help()`` with the module name as argument. For example,

.. code:: python

>>> from pygorithm import sorting
>>> help(sorting)
Help on package pygorithm.sorting in pygorithm:

NAME
pygorithm.sorting - Collection of sorting methods

PACKAGE CONTENTS
bubble_sort
bucket_sort
counting_sort
heap_sort
insertion_sort
merge_sort
modules
quick_sort
selection_sort
shell_sort


Tests
~~~~~

* Just type in the following command to run the tests
::

python3 -m unittest

* This will run all the tests defined in the files of the ``tests/`` directory

Donation
~~~~~~~~

If you have found my softwares to be of any use to you, do consider helping me pay my internet bills. This would encourage me to create many such softwares :)

- `PayPal `_
- `₹ (INR) `_