This repository contains solutions to various Data Structures and Algorithms (DSA) questions implemented in C/C++. The purpose of this repository is to provide a resource for individuals studying DSA to practice and understand different problem-solving techniques.
Introduction Directory Structure Getting Started Contribution Guidelines License Introduction Data Structures and Algorithms are fundamental concepts in computer science and play a crucial role in writing efficient and scalable code. This repository aims to help you strengthen your understanding of DSA by providing solutions to a variety of problems.
Each problem is categorized based on its difficulty level and the specific DSA topic it covers. The solutions are implemented in C/C++ for clarity and simplicity.
The repository is organized as follows:
mathematica Copy code
├── Arrays
│ ├── 01_TwoSum.cpp
│ ├── 02_ThreeSum.cpp
│ └── ...
├── LinkedLists
│ ├── 01_ReverseLinkedList.cpp
│ ├── 02_DetectCycle.cpp
│ └── ...
├── Trees
│ ├── 01_InOrderTraversal.cpp
│ ├── 02_LevelOrderTraversal.cpp
│ └── ...
├── Sorting
│ ├── 01_BubbleSort.cpp
│ ├── 02_QuickSort.cpp
│ └── ...
├── Searching
│ ├── 01_BinarySearch.cpp
│ ├── 02_LinearSearch.cpp
│ └── ...
├── DynamicProgramming
│ ├── 01_Fibonacci.cpp
│ ├── 02_LongestCommonSubsequence.cpp
│ └── ...
└── README.md
Feel free to add new problems or suggest improvements to the existing ones.
Clone the repository to your local machine:
git clone https://github.com/your-username/DSA-Practice.git
Navigate to the specific topic directory you want to work on:
cd DSA-Practice/Arrays
Choose a problem (e.g., 01_TwoSum.cpp) and open it in your preferred text editor or IDE.
Implement your solution.
Test your solution with sample inputs and make sure it produces the expected output.
Add, commit, and push your changes to your forked repository:
bash Copy code git add . git commit -m "Add solution for TwoSum problem" git push origin master Create a pull request to the main repository.
Contributions are welcome! Follow these guidelines to contribute:
Create a new branch for your feature or bug fix: git checkout -b feature/new-feature. Make your changes and test thoroughly. Add, commit, and push your changes to your forked repository. Create a pull request to the main repository. Please make sure your code follows the existing coding style, and include a clear and concise description of your changes in the pull request.
License This repository is licensed under the MIT License - see the LICENSE file for details. Feel free to use the code for personal or educational purposes.