Welcome to the DSA repository! This repository contains a collection of Data Structures and Algorithms implementations in three different languages: Java, C/C++, and Python. Each language has a structured folder system to help you navigate through the types of algorithms and data structures easily.
📦 DSA/
┣ 📂 Java/
┃ ┣ 📂 DataStructures/
┃ ┃ ┣ 📂 Arrays/
┃ ┃ ┣ 📂 LinkedList/
┃ ┃ ┣ 📂 Stack/
┃ ┃ ┣ 📂 Queue/
┃ ┃ ┣ 📂 Trees/
┃ ┃ ┗ 📂 Graphs/
┃ ┣ 📂 Algorithms/
┃ ┃ ┣ 📂 Sorting/
┃ ┃ ┣ 📂 Searching/
┃ ┃ ┣ 📂 DynamicProgramming/
┃ ┃ ┣ 📂 Greedy/
┃ ┃ ┗ 📂 Backtracking/
┃
┣ 📂 C_CPP
┣ 📂 Python
Each of the three main folders (Java
, C_CPP
, Python
) contains the same structure for Data Structures and Algorithms. As of now, these folders are placeholders to help with future contributions. You'll find subfolders dedicated to various types of data structures (such as Arrays, Linked Lists, Stacks, Trees, etc.) and algorithms (such as Sorting, Searching, Dynamic Programming, etc.).
You can:
- Clone the repository:
git clone https://github.com/techcsispit/DSA.git
- Navigate to your preferred language folder (e.g.,
Java
,C_CPP
, orPython
). - Choose a data structure or algorithm type that you would like to work on.
- Add your implementation in the respective folder.
We welcome contributions! If you'd like to add a new data structure or algorithm:
- Fork the repository.
- Create a new branch for your feature.
- Add your code in the correct folder structure.
- Create a pull request, and describe the feature/algorithm you've implemented.
- Make sure that .gitignore files are included.
You might notice that each folder contains a .gitkeep file. This file has no actual content but serves a purpose in Git. Git does not track empty folders by default, so .gitkeep is used to ensure that the folder structure is committed and pushed to the repository even when it’s empty. This helps us maintain the organized folder system, allowing you to easily find where to add your implementations later.
Once content (code) is added to a folder, the .gitkeep file can be removed as it's no longer necessary.