
<img src ="https://github.com/Abhijit2505/eduAlgo/blob/master/images/eduAlgo.png" height = "250">

# eduAlgo

<img src="https://img.shields.io/github/license/Abhijit2505/eduAlgo?style=for-the-badge">&nbsp;<img src ="https://img.shields.io/github/languages/code-size/Abhijit2505/eduAlgo?style=for-the-badge">&nbsp;<img src = "https://img.shields.io/github/contributors/Abhijit2505/eduAlgo?style=for-the-badge">&nbsp;<img src ="https://img.shields.io/github/last-commit/Abhijit2505/eduAlgo?style=for-the-badge">&nbsp;<img src="https://img.shields.io/pypi/wheel/eduAlgo?style=for-the-badge">

<img src = "https://img.shields.io/pypi/status/eduAlgo?style=for-the-badge">&nbsp;<img src ="https://img.shields.io/pypi/v/eduAlgo?style=for-the-badge&logo=PyPi">&nbsp;<img src="https://img.shields.io/github/commit-activity/m/Abhijit2505/eduAlgo?style=for-the-badge">&nbsp;<img src ="https://img.shields.io/github/release-date/Abhijit2505/eduAlgo?style=for-the-badge">


[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com)   [![forthebadge](https://forthebadge.com/images/badges/built-by-developers.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/made-with-python.svg)](https://forthebadge.com)

## Objective 
A python package published at [PyPi](https://pypi.org/). The project can be viewed here - [PyPi - eduAlgo](https://pypi.org/project/eduAlgo/).

## Aim Of The Package

This is a very simple python package made with python script to study different algorithms for educational purposes. This package is under **planning** version and aims to achieve the following,

* Contain All the available algorithms
* Help students with learning space and time complexity
* Visualizing Algorithms
* Getting resources, articles etc to study about python and Algorithms
* Become a handy tool for the programmers while using different algorithms on daily basis

## Current Algorithms

* Bubble sort
* Selection sort

## Algorithms Yet to Publish

* Searching Algorithms and Visualizations
* Sorting Algorithms and Visualizations
* Graph Algorithms and Visualizations
* Linked List Implementations and Vizualizations
* Tree Types, Vizualizations and Implementations

## Ongoing Issues

Here is a list of algorithmic implementations using a linked list -

#### Issue#1

Can be viewed [here](https://github.com/Abhijit2505/eduAlgo/issues/1)

*  Palindromic Linked List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Remove Linked List Elements - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Intersection Of Two Linked List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Linked List Cycle - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Remove Duplicates From a Sorter List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Merge Two Sorted List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Reverse Linked List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Delete Node In a Linked List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Middle Of the Linked List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Delete M Modes after M Nodes of a Linked List - <img src ="https://img.shields.io/badge/-easy-brightgreen">
* Convert Binary Number In a Linked List to integer - <img src ="https://img.shields.io/badge/-easy-brightgreen">

#### issue#2

Can be viewed [here](https://github.com/Abhijit2505/eduAlgo/issues/2)

* Design Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Rotate List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Insert Into a Sorted Circular Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Add Two Numbers - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Remove Nth Node From End of List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Copy List with Random Pointer - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Remove Duplicates From The Sorted List (Second Version) - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Reorder List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Linked List Cycle (Second Version) - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Reverse Linked List (Second Version) - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Linked List In Binary Tree - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Insertion Sort List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Remove Zero-Sum Consecutive Nodes from Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Partition List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Sort List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Design Phone Directory - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Convert Sorted List to Binary Search Tree - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Swap Nodes in Pairs - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Split Linked List in Parts - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Add Two Numbers(Second Version) - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Flatten a Multilevel Doubly Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Odd-Even Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Linked List Components - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Next Greater Node in Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Plus One Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">
* Convert Binary Search Tree to Sorted Doubly Linked List - <img src ="https://img.shields.io/badge/-intermediate-orange">

#### Issue#3

Can be viewed [here](https://github.com/Abhijit2505/eduAlgo/issues/3)

* Reverse Nodes in k-Group - <img src ="https://img.shields.io/badge/-hard-red">
* Merge k Sorted Lists - <img src ="https://img.shields.io/badge/-hard-red">

The addition of code for these implementations is ongoing.


## Installation

Fast install:

    pip install eduAlgo

Example

```python

    from edualgo import algorithm.sort

    arr = [5,4,3,2,1]
    obj = sort()
    sorted_arr = obj.bubble_sort(arr)
    print(sorted_arr)
```
Here is the output:

       [1,2,3,4,5]

## License

This package is under **MIT License** copyright @Abhijit Tripathy

## About The Contributors

<table>
    <tr>
        <td>
            <img src = "https://github.com/Abhijit2505/eduAlgo/blob/master/images/Abhijit23.jpeg" height = "100">
        </td>
            <td>
                <a href="https://github.com/Abhijit2505">Abhijit Tripathy</a></br>
    DSA Developer and Python Programmer
        </td>
        </tr>
    </table>
    
    
    
    
    
    
    
    
    
    
