Welcome to the DSA and Algorithm Practice Repository! This repository contains a collection of C++ programs that cover various data structures and algorithms. The code is organized into different categories such as arrays, linked lists, binary trees, dynamic programming, and more.
This repository is designed to help you practice and improve your skills in data structures and algorithms. Each category contains a variety of problems and their solutions, implemented in C++. The repository is regularly updated, and new files are released according to a set schedule.
- Simplest form of multi-dimensional arrays
- Various algorithms and problems related to 2D arrays
- Example: Finding the median in a matrix, rotating a matrix by 90 degrees, etc.
- Fundamental data structure
- Includes searching, sorting, and various other array manipulation techniques
- Example: Binary search, finding pairs with a given sum, bubble sort, etc.
- Fundamental C++ programs
- Basic algorithms and utility functions
- Example: Checking for palindrome, calculating factorial, etc.
- Operations and algorithms specific to BSTs
- Example: Finding the median in a BST, flattening a BST, etc.
- Comprehensive set of problems related to binary trees
- Example: Level order traversal, finding the diameter of a tree, etc.
- Problems and solutions using the dynamic programming paradigm
- Example: Climbing stairs problem, maximum sum of non-adjacent elements, etc.
- Solutions to various problems from LeetCode
- Example: Problem 140, Problem 165, etc.
- Operations and algorithms for singly, doubly, and circular linked lists
- Example: Detecting loops, merging sorted lists, etc.
- Basic and advanced concepts of OOP in C++
- Example: Implementing classes, inheritance, polymorphism, etc.
- Examples and problems involving pointers in C++
- Example: Double pointers, reference variables, etc.
- Implementations and problems related to different types of queues
- Example: Circular queues, queue using stacks, etc.
- Problems solved using recursive approaches
- Example: Permutations of an array, power calculation, etc.
- Stack operations and related problems
- Example: Valid parenthesis checking, infix to postfix conversion, etc.
- String manipulation problems and algorithms
- Example: Checking if a string is a palindrome, finding duplicates, etc.
To use the repository, clone it to your local machine using the following command:
git clone https://github.com/yourusername/DSA-and-Algorithm-Practice.git
Contributions are welcome! If you find a bug or want to add a new feature, please open an issue or submit a pull request.
- Fork the repository
- Create a new branch (git checkout -b feature-branch)
- Make your changes and commit them (git commit -m 'Add new feature')
- Push to the branch (git push origin feature-branch)
- Open a pull request
This project is licensed under the MIT License. See the LICENSE file for more details.