๐ A Collection of Algorithm And Data Structures in Cpp and Python ๐
- Introduction
- Data Structure
- Algorithms
- Languages
- Support
- Project Progress
- Contributing
- Authors and acknowledgment
- License
- Maintainers
Anyone Interested for manage repository for upcoming HacktoberFest2021.Email us on pycontributors@gmail.com
- Must be a Student
- Must have knowledge of Git Commands ex- branching, merging etc
- Must have Python/C++ DS and Algo knowledge to review code.
Introduction
Data structures & Algorithms are an essential part of programming. It comes under the fundamentals of computer science. It gives us the advantage of writing better and efficient code in less time. It is a key topic when it comes to Software Engineering interview questions so as developers, we must have knowledge of Data Structure and Algorithms
๐ Star it ๐ดFork it ๐ค Contribute to it!
Data Structure
In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. Data structure is a way or a format how your data is stored in memory for effecient usage and retrieval.
Algorithms
An algorithm is a set of instructions that are used to accomplish a task, such as finding the largest number in a list, removing all the red cards from a deck of playing cards, sorting a collection of names, figuring out an average movie rating from just your friend's opinion
Algorithms are not limited to computers. They are like a set of step-by-step instructions or an even a recipe, containing things you need, steps to do, the order to do them, conditions to look for, and expected results.
Languages
- C++
- Python
Support
Check Contribution Guide Before Contribution.
Project Progress
Data Structures
Data Structure | C++ | Python | Status/Remarks |
---|---|---|---|
Linked List | Yes | Yes | Being improved #23 |
Sets | Yes | Yes | Implemented |
Stack | Yes | In progress #13 | |
Queue | In progress #7 | In progress #12 |
Algorithms
Algorithm | C++ | Python | Remarks |
---|---|---|---|
Searching | |||
Binary Search | No | In progress #9 | |
Jump Search | In progress #39 | In progress #10 | |
Fibonacci Search | No | In progress #11 | |
Sorting | |||
Selection Sort | In progress #29 | In progress #30 | |
Bubble Sort | Yes | Yes | |
Insertion Sort | In progress #2 | Yes | |
Merge Sort | In progress #3 | Yes | |
Quick Sort | In progress #4 | Yes | |
Heap Sort | In progress #5 | In progress #6 | |
Radix Sort | In progress #63 | Yes | |
Recursion | |||
Fibonacci Numbers | No | Yes | |
Fibonacci List | No | Yes | |
Factors | No | Yes | |
Recursion | No | Yes | |
Recursive Sum | No | Yes | |
Sieve | |||
Sieve of Erosothenes | No | Yes | |
Dynamic Programming | |||
Knapsack Problem | No | Yes | |
Longest Common Subsequence | No | Yes | |
Longest Increasing Subsequence | No | Yes | |
Merge Sort | No | Yes | Duplicate |
Fibonacci Number | No | Yes | Duplicate |
Naive Pattern Search | In progress #18 | In progress #17 | |
Rabin-Karp Algorithm | No | ||
Backtracking | |||
Suduko Solver | In progress #21 | No | |
The Knight's Tour | In progress #33 | In progress #32 | |
Subset Sum | In progress #36 | In progress #35 | |
Deep Learning | |||
Activation Function | No | Yes | |
Feed Forward Normal Function | No | Yes | |
Layers | No | Yes | |
Loss Function | No | Yes | |
Optimizers | No | Yes | |
Machine Learning | |||
Gradient Descent | No | Yes | |
Linear Regression | No | Yes | |
Logistic Regression | No | Yes | |
Decision Tree | No | In progress #37 | |
K-Nearest Neighbours | No | In progress #38 |
Contributing
Before submitting a bug, please do the following: Check Contribution Guide Before Contribution.
- Create separate issues for Python and C++.
- You can only work on issues that you have been assigned to.
- Use Flake8 locally for linting Python Code.
pip install flake8
. (We have linting checks so if your code fails it we will not merge the PR.)
Authors and acknowledgment
Show your appreciation to those who have contributed to the project.
License
For open-source projects, Under MIT License.