OmkarPathak / pygorithm

A Python module for learning all major algorithms
MIT License
4.41k stars 510 forks source link
algorithms data-structures modules python3

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/omkarpathak27@gmail.com :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 <http://pygorithm.readthedocs.io/en/latest/>`_
* Get the code right in your editor
* Get time complexities on the go

Installation

::

pip3 install pygorithm

::

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

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 <https://paypal.me/omkarpathak27>`_
- `₹ (INR) <https://www.instamojo.com/@omkarpathak/>`_