Code Monkey home page Code Monkey logo

edualgo's People

Contributors

24apurv avatar abhaskar1 avatar abhijit2505 avatar allcontributors[bot] avatar amulyavarshney avatar anuraganalog avatar audarya07 avatar caleberi avatar charlie219 avatar deepsourcebot avatar fomalhauting avatar gnurenga avatar hardevkhandhar avatar hussamel-hwary avatar imgbot[bot] avatar kanakkvdi avatar krypticmouse avatar lostgirljourney avatar lukasberka avatar manoj-paramsetti avatar nihilistdbanana avatar nyctophiliacme avatar paranjoyg avatar pawankm21 avatar pragatipal avatar prakhar-mangal avatar priyaa-agrawal avatar skrstv123 avatar venkatsquest avatar yash872 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

edualgo's Issues

Add Binary Search Tree implementation

Binary Search tree implementation
I will include functions for insertion lookup deletion.
Also i want to include Breadth First Tree and Depth Search Tree algorithms.

Randomized quick sort [SwoC]

Is your feature request related to a problem? Please describe.
Yes, the library does not contain randomized quick sort algorithm

Describe the solution you'd like
Will implement a function randomizedQuickSort(arr,hint)

Describe alternatives you've considered
nothing as of now

Can I work on this?

Adding new methods to Binary Tree

Need to add additional methods

  1. KthLevel -> This method is for print elements present on the Kth level from the top root.
  2. CountNode -> This method is for counting the total elements present in the Tree.

Linked List Algorithm Implementations (Intermediate)

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

  • Design Linked List -
  • Rotate List -
  • Insert Into a Sorted Circular Linked List -
  • Add Two Numbers -
  • Remove Nth Node From End of List -
  • Copy List with Random Pointer -
  • Remove Duplicates From The Sorted List (Second Version) -
  • Reorder List -
  • Linked List Cycle (Second Version) -
  • Reverse Linked List (Second Version) -
  • Linked List In Binary Tree -
  • Insertion Sort List -
  • Remove Zero-Sum Consecutive Nodes from Linked List -
  • Partition List -
  • Sort List -
  • Design Phone Directory -
  • Convert Sorted List to Binary Search Tree -
  • Swap Nodes in Pairs -
  • Split Linked List in Parts -
  • Add Two Numbers(Second Version) -
  • Flatten a Multilevel Doubly Linked List -
  • Odd-Even Linked List -
  • Linked List Components -
  • Next Greater Node in Linked List -
  • Plus One Linked List -
  • Convert Binary Search Tree to Sorted Doubly Linked List -

Work upon these algorithms are going on.

Linked List Algorithm Implementations(Easy)

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

  • Palindromic Linked List -
  • Remove Linked List Elements -
  • Intersection Of Two Linked List -
  • Linked List Cycle -
  • Remove Duplicates From a Sorter List -
  • Merge Two Sorted List -
  • Reverse Linked List -
  • Delete Node In a Linked List -
  • Middle Of the Linked List -
  • Delete M Modes after N Nodes of a Linked List -
  • Convert Binary Number In a Linked List to integer -

The addition of code for these implementations is ongoing.

searching and sorting

I am a participant of SWOC 2021. I would like to contribute by adding the code for searching and sorting
Kindly assign this issue to me
Thank you

Segment Tree Algorithms Addition

Is your feature request related to a problem? Please describe.
I would like to add Segment Tree Implementation under algorithm folder.

Describe the solution you'd like
Implementing Segment Tree with various range based query implementation.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Add Hamiltonian Cycle in backtracking

I am starting with Hamiltonian cycle:
Hamiltonian cycle is a Hamiltonian Path such that there is an edge (in the graph) from the last vertex to the first vertex of the Hamiltonian Path. Determine whether a given graph contains Hamiltonian Cycle or not. If it contains, then prints the path.

For example:
Hamiltonian Cycle in the following graph is {0, 1, 2, 4, 3, 0}
(0)--(1)--(2)
| / \ |
| / \ |
| / \ |
(3)-------(4)
And the following graph doesn’t contain any Hamiltonian Cycle
(0)--(1)--(2)
| / \ |
| / \ |
| / \ |
(3) (4)

Bug spotting

No software package can be free of bugs practically, we would like you to point out the bugs you see in the package and create an issue first describing the bug.

You can also point the bugs out as a reply to this issue.

Add Backtracking Algorithms

These are the popular algorithms, that use backtracking. Your task is to design the code for these algorithms inside the package.

As these are quite popular, you just need to google the name for the problem statement, but never use google for the solution, try to solve it first, if not possible, try again. Try two times more.

As a final step, you may contact the project admin. But never use google for a solution directly.

Create a Stack

Stack is an abstract data type

  • User can insert object in to a stack
  • Remove the recent added element from the stack
  • Check is the stack is empty
  • Calculate the length of the stack

Doc string in is_empty has issue in stack.py

  • is_empty will return true if data is empty
  • I have to change the doc string from Returns boolean False if data is empty or True to Returns boolean False if the data is not empty else True

Create a queue

  • Add element to a queue
  • Remove element from a queue
  • Check queue is empty
  • find the length of queue
  • get the first added element in the queue using a function

Add travelling salesman problem

Is your feature request related to a problem? Please describe.
travelling salesman problem is missing from graph algorithms.

Describe the solution you'd like
will add the DP solution for the travelling salesman problem.
DP solution is slightly efficient than factorial time methods.

Size of directory [SWoC]

Is your feature request related to a problem? Please describe.
To check the storage of your device, tracking the size and information of all files in directory

Describe the solution you'd like
The script displays the size of the current directory in bytes, kilobytes, gigabytes, and megabytes.

Describe alternatives you've considered

Additional context

Booyer Moore Algorithm [SWOC]

I am a participant of SWOC 2020,
I would like to contribute by adding the code for Boyer Moore under the string algorithms.
Kindly assign this issue to me.
Thank you.

[SWOC] Search Algorithms

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.
I would like to add:
Binary search algo
Sublinear search algo
Bilinear search algo
Random select algo

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

different versions of QuickSort paritioning (Lomuto partition, Hoare partition)(SWOC)

**Suggest two differerent parition method **
The partition method implemented so far is taking the last element as the pivot point i.e Lomuto. Suggest to make two different parition and explain why Hoare performs better.

How will this impact the quicksort already in the code
It will not, by default we can make it either one and additionally let the user type the string 'Hoore' as a parameter if they want this paritioning to be used.

Extra feature
guide users to the necessary material for the difference and the importance of choosing the right parition (using help() like done in the previous ones)

Want to add few algos

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Some famous algorithms not yet included [SWoC]

Found some famous algorithms that are not yet included in the library. Please go through it and mention those on which I can work

Dynammic Programming based :-

  1. count all possible paths from top left to bottom right in a square matric
  2. longest palindromic subsequence
  3. number of unique (structurally different) BST with given number of nodes
  4. rod cutting problem

Greedy based :-

  1. fractional knapsnack
  2. minimum spanning tree
  3. activity selection

Tree based :-

  1. symmetric tree
  2. level order traversal
  3. zigziag level order traversal
  4. maximum depth of binary tree
  5. invert binary tree

JOB SEQUENCING PROBLEM IMPLEMENTATION USING GREEDY ALGO IN PYTHON[SWOC21]

An array of jobs is given where every job has a deadline and associated profit if the job is finished before the deadline. It is also given that every job takes the single unit of time, so the minimum possible deadline for any job is 1. finding a way to maximize total profit if only one job can be scheduled at a time.

A* Pathfinding Algorithm with GUI

Is your feature request related to a problem? Please describe.
It is a feature for additional enhancement

Describe the solution you'd like
This is a feature that helps to find the shortest distance between two nodes. It uses pygame, and has keys functionalities that even a layman can use.

Describe alternatives you've considered
Alternatives include creating the same without a GUI

Adding 5 different searching, sorting algorithms

Adding 5 different searching, sorting algorithms in the project such as insertion ,linear search ,binary search, selection sort, merge sort ,quick sort,heap sort and also adding the worst,best,average complexities of each algorithms

[SWOC] Cryptography algorithms

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I would like to add Cryptography Algorithms
Affine Cipher
Burrows-Wheeler Transform
Caesar Cipher
RSA Algorithm
XOR Cipher
Vigenere Cipher

Describe the solution you'd like
A clear and concise description of what you want to happen.
Cryptography Algorithms

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Algorithms Addition

Cheers !! PyCon Devsprint is here 🎉🎉

You may add any of your favourite algorithms to our modules.

Just comment the name of the algorithms below in this issue and I will be assigning you the same.
Join the discuss here - eduAlgo Zulip

Assigned Issues

Fibonacci Numbers [SWoC]

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I would like to add Fibonacci Numbers Algorithms

Describe the solution you'd like
A clear and concise description of what you want to happen.
Fibonacci Number's algorithms

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Min Steps to 1 [SWOC]

Hello sir, I am a participant in SWOC 2021, I would like to contribute by adding the code for Min Steps to 1 In Dynamic Programming.
Kindly assign this issue to me.
Thank you.

Linked List Algorithm Implementations (Hard)

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

  • Reverse Nodes in k-Group -
  • Merge k Sorted Lists -

The addition of code for these implementations is ongoing.

Cycle Sort [SWOC]

I am a participant of SWOC 2021, I would like to contribute by adding the code for Cycle Sort.
Kindly assign this issue to me.
Thank you.

Potential Suggestions

Description

Hi @Abhijit2505

I'm in total love with your Project, especially since I got to use your Package for a personal Project. That's a great work put up by you and the Team at EduAlgo.

I would like to highlight few issues in the Project Code right now:

  • You can stop tracking your VS Code Configuration by removing .vscode
  • You can remove the Project Build build/lib/edualgo from the Repository.
  • You can remove the Egg Packaging eduAlgo.egg-info from the Repository.

These are healthy suggestions to keep the Project hassle-free while installation and preventing leaks.

Areas [SWOC]

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I would like to add areas algorithm.

Describe the solution you'd like
A clear and concise description of what you want to happen.
We can add areas algorithms

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Create Manual Testing Modules

Testing is a very important phase for any software package. Although there are awesome libraries like pytest etc available in python for testing, still we like to prefer maintaining our own testing module.

Your task is to come up with the testing module for all the methods described in the package.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.