/AlgorithmsAndDataStructure

Algorithms And DataStructure Implemented In Python & CPP, Give a Star 🌟If it helps you

Primary LanguagePythonMIT LicenseMIT

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.

Perform basic troubleshooting steps:

  • Make sure you are on the latest version. If you are not on the most recent version, your problem may have been solved already! Upgrading is always the best first step.
  • Try older versions. If you are already on the latest release, try rolling back a few minor versions (e.g. if on 1.7, try 1.5 or 1.6) and see if the problem goes away. This will help the devs narrow down when the problem first arose in the commit log.
  • Try switching up dependency versions. If the software in question has dependencies (other libraries, etc) try upgrading/downgrading those as well.

Authors and acknowledgment

Show your appreciation to those who have contributed to the project.

For open-source projects, Under MIT License.

Maintainers