Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ashifhassandev/dsa-workouts

A repository containing DSA workout exercises and a structured roadmap, designed to help users enhance their problem-solving skills.
https://github.com/ashifhassandev/dsa-workouts

algorithms algorithms-and-data-structures data-structures javascript roadmap

Last synced: 4 days ago
JSON representation

A repository containing DSA workout exercises and a structured roadmap, designed to help users enhance their problem-solving skills.

Awesome Lists containing this project

README

        

# DSA Workouts

Welcome to the **DSA Workouts** repository! This project is designed to help users enhance their problem-solving skills in **Data Structures and Algorithms (DSA)** through well-structured exercises and implementations. It provides a hands-on approach with an organized roadmap to guide your learning journey.

## Table of Contents

- [About the Repository](#about-the-repository)
- [Project Structure](#project-structure)
- [Features](#features)
- [Getting Started](#getting-started)
- [Usage](#usage)
- [Roadmap](#roadmap)
- [Contributions](#contributions)
- [License](#license)

## About the Repository

This repository provides implementations of common data structures and algorithms, alongside practical exercises to help you master the concepts. It is structured to facilitate learning by providing focused modules for each topic.

## Project Structure

```plaintext
dsa-workouts/
├── algorithms/ # Algorithms folder
│ ├── binary-search/
│ │ └── binarySearch.js
│ ├── bubble-sort/
│ │ └── bubbleSort.js
│ ├── insertion-sort/
│ │ └── insertionSort.js
│ ├── linear-search/
│ │ └── linearSearch.js
│ ├── merge-sort/
│ │ └── mergeSort.js
│ ├── quick-sort/
│ │ └── quickSort.js
│ └── selection-sort/
│ └── selectionSort.js
├── arrays/
│ └── array.js
├── binary-search-trees/
│ └── binarySearchTree.js
├── graphs/
│ └── graph.js
├── hash-tables/
│ └── hashTables.js
├── heaps/
│ └── heap.js
├── linked-lists/
│ └── linkedLists.js
├── queues/
│ └── queue.js
├── stacks/
│ └── stack.js
├── strings/
│ └── string.js
├── trees/
│ └── tree.js
└── tries/
└── trie.js
```

## Features

- **Algorithms**: Covers all major algorithms like searching, sorting, and more.
- **Data Structures**: Detailed implementations of arrays, stacks, queues, linked lists, trees, graphs, and more.
- **Modular Design**: Each topic is separated into its own folder for easy navigation.
- **Roadmap Integration**: Follows the [Data Structures and Algorithms Roadmap](https://roadmap.sh/datastructures-and-algorithms).

## Getting Started

1. **Clone the repository**:
```bash
git clone https://github.com/your-username/dsa-workouts.git
cd dsa-workouts
```

2. **Install Node.js (if not already installed)**:
- [Download Node.js](https://nodejs.org/)

3. **Run any JavaScript file**:
Navigate to a folder and run the file:
```bash
node algorithms/binary-search/binarySearch.js
```

## Usage

- **Algorithms**: Implement and test various algorithms in their respective folders.
- **Data Structures**: Understand and implement foundational data structures like arrays, linked lists, graphs, and more.
- **Exercises**: Practice exercises based on each topic.

## Roadmap

This repository aligns with the [Data Structures and Algorithms Roadmap](https://roadmap.sh/datastructures-and-algorithms) to provide a structured learning path.

## Contributions

Contributions are welcome! If you want to improve the repository or add new implementations, follow these steps:

1. Fork the repository.
2. Create a new branch:
```bash
git checkout -b feature-new-topic
```
3. Commit your changes:
```bash
git commit -m "Add a new topic/feature"
```
4. Push to the branch:
```bash
git push origin feature-new-topic
```
5. Submit a pull request.

## License

This project is licensed under the [MIT License](LICENSE).

## Acknowledgments

- Inspired by the [roadmap.sh](https://roadmap.sh/datastructures-and-algorithms) learning path.
- Special thanks to the open-source community for their resources and guidance.

Happy Learning! 🎉