An open API service indexing awesome lists of open source software.

https://github.com/techcsispit/dsa


https://github.com/techcsispit/dsa

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# Data Structures and Algorithms (DSA) Repository

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.

## Folder Structure

```
πŸ“¦ DSA/
┣ πŸ“‚ Java/
┃ ┣ πŸ“‚ DataStructures/
┃ ┃ ┣ πŸ“‚ Arrays/
┃ ┃ ┣ πŸ“‚ LinkedList/
┃ ┃ ┣ πŸ“‚ Stack/
┃ ┃ ┣ πŸ“‚ Queue/
┃ ┃ ┣ πŸ“‚ Trees/
┃ ┃ β”— πŸ“‚ Graphs/
┃ ┣ πŸ“‚ Algorithms/
┃ ┃ ┣ πŸ“‚ Sorting/
┃ ┃ ┣ πŸ“‚ Searching/
┃ ┃ ┣ πŸ“‚ DynamicProgramming/
┃ ┃ ┣ πŸ“‚ Greedy/
┃ ┃ β”— πŸ“‚ Backtracking/
┃
┣ πŸ“‚ C_CPP
┣ πŸ“‚ Python
```

## How to Use This Repository

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:
1. **Clone the repository**:
```bash
git clone https://github.com/techcsispit/DSA.git
```
2. **Navigate to your preferred language folder** (e.g., `Java`, `C_CPP`, or `Python`).
3. **Choose a data structure or algorithm type** that you would like to work on.
4. **Add your implementation** in the respective folder.

## Contribution Guidelines
We welcome contributions! If you'd like to add a new data structure or algorithm:
1. Fork the repository.
2. Create a new branch for your feature.
3. Add your code in the correct folder structure.
4. Create a pull request, and describe the feature/algorithm you've implemented.
5. Make sure that .gitignore files are included.

Make sure your code follows proper formatting standards and includes comments to explain the logic.
---
#### Note:
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.