This repository contains Data Structures & Algorithms based problems to help enhance your competitive programming skills.
Welcome to the Data Structures & Algorithms repository! This repository is dedicated to enhancing your competitive programming skills by offering a curated collection of problems based on a variety of data structures and algorithms. Each problem is designed to challenge and expand your understanding of fundamental concepts in computer science.
The repository includes a range of problems, many of which are inspired by LeetCode challenges. I am committed to updating this repository daily with new problems and solutions to keep it current and relevant. The goal is to solve LeetCode problems, document the solutions, and continuously improve the content available here.
No | Problem Category | Description |
---|---|---|
00 | Ultimate DSA Problems Collection | A comprehensive collection of DSA problems to prepare for competitive programming and coding interviews. |
01 | Grid-Matrix Patterns no-leetcode | Contains problems related to creating and manipulating grid-matrix patterns using loops just for beginners. |
02 | Grid-Matrix Based Problems Set | Collection of grid and matrix problems for algorithmic analysis and practice. |
03 | Bitwise Operators Based Problems | Focuses on problems that require the use of bitwise operators to solve. |
04 | Binary and Decimal Number System Based Problems | Includes problems related to binary and decimal number systems, conversions, and arithmetic operations. |
05 | Arrays Based Problems | Explore fundamental array-based problems emphasizing linear search techniques and basic array operations for DSA students. |
06 | Binary Search Algorithm Based Problems | Includes all Binary Search Algorithms-based problem solutions explained in detail. |
07 | Sorting Algorithms Problems | Includes a collection of problems covering different sorting algorithms from GFG and LeetCode. |
08 | Strings and Characters Problems | Collection of string manipulation problems from LeetCode and GFG with optimized solutions. |
09 | Sieve of Eratosthenes & Segmented Sieve Problems | Focuses on the sieve of Eratosthenes algorithm and its variations for solving prime number-related problems. |
10 | Mathematics Problems | Includes math-related problems, including modular arithmetic, GCD, LCM, and combinatorics. |
11 | Recursion Problems | Problems designed to understand and implement recursive solutions effectively. |
12 | Merge Sort Algorithm Problems | Focuses on merge sort algorithm-related problems, including inversion counts and sorting variations. |
13 | Quick Sort Algorithm Problems | A collection of problems to understand and apply the quick sort algorithm efficiently. |
14 | Linked List Data Structure Problems | Contains problems to understand singly and doubly linked list operations, traversal, and modifications. |
15 | Stack Data Structure Problems | Includes problems related to stack implementation and applications such as postfix evaluation and balanced parentheses. |
16 | Queue Data Structure Problems | Covers queue operations and variations, such as circular queues and deque. |
17 | Binary Tree Data Structure Problems | Problems to master binary tree traversal, construction, and various operations. |
18 | Binary Search Tree Data Structure Problems | Learn BST operations like searching, insertion, deletion, and advanced challenges. |
19 | Heap Data Structure Problems | A collection of problems on heap operations, priority queues, and advanced use cases. |
20 | Hashmap Data Structure Problems | Problems involving hashmaps for efficient key-value pair storage and lookup. |
21 | Trie Data Structure Problems | Problems using Tries, a tree-based structure for efficient string search. |
22 | Backtracking Algorithm Based Problems | Problems requiring backtracking to explore possible solutions and undo invalid choices. |
23 | Graph Data Structure Problems | Problems related to graphs, focusing on traversal, connectivity, and pathfinding. |
24 | Dynamic Programming Problems | Problems using dynamic programming to solve complex problems by breaking them into simpler subproblems. |
25 | Greedy Algorithm Problems | Problems solved using greedy algorithms by making locally optimal choices. |
To get started with solving the problems in this repository, follow these steps:
-
Clone the repository:
git clone https://github.com/JawadSher/Data-Structures-Algorithms-Based-Problems.git cd Data-Structures-Algorithms-Based-Problems
-
Explore the problems: Browse through the problem set overview above and choose a problem to solve. Each problem will have its own section with detailed instructions and examples.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! If you have a new problem to add or an improvement to make, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b new-feature
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin new-feature
). - Open a pull request.
Q: How do I submit my solution?
A: Fork the repository, create a new branch, add your solution, and open a pull request.
Q: Can I use other programming languages?
A: Yes, feel free to use any programming language you are comfortable with.
├── problems
│ ├── multiple-grid-matrix-patterns
│ │ ├── problem1
│ │ │ ├── main.cpp
│ │ │ └── README.md
│ │ ├── problem2
│ │ │ ├── main.cpp
│ │ │ └── README.md
│ │ └── ...
│ ├── bitwise-operators
│ │ ├── problem1
│ │ │ ├── main.cpp
│ │ │ └── README.md
│ │ ├── problem2
│ │ │ ├── main.cpp
│ │ │ └── README.md
│ │ └── ...
│ ├── binary-decimal-number-systems
│ │ ├── problem1
│ │ │ ├── main.cpp
│ │ │ └── README.md
│ │ ├── problem2
│ │ │ ├── main.cpp
│ │ │ └── README.md
│ │ └── ...
├── examples
│ ├── grid-matrix-patterns-solution.md
│ ├── bitwise-operators-solution.md
│ └── binary-decimal-number-systems-solution.md
├── .github
│ └── workflows
│ └── c-cpp.yml
├── LICENSE
└── README.md
Dear Visitor,
I would like to sincerely apologize for any inaccuracies or inconsistencies you may come across while navigating through the repository. While I strive to ensure the content is accurate and up-to-date, there may be occasional errors or oversights, as the repository is manually maintained.
If you encounter any issues or discrepancies, I appreciate your understanding and patience. Your feedback is highly valued, and I will make every effort to address and correct any problems promptly. Thank you for your continued support, and I am committed to improving the quality of the content shared here.
Best regards, JAWAD SHER