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

https://github.com/mbrunos/dsa

Data Structures and Algorithms in TypeScript
https://github.com/mbrunos/dsa

algorithm algorithms computer-science data-structures data-structures-and-algorithms dsa dsa-javascript typescript

Last synced: 3 days ago
JSON representation

Data Structures and Algorithms in TypeScript

Awesome Lists containing this project

README

          

# Data Structures and Algorithms

[![en](https://img.shields.io/badge/lang-en-red.svg)](./README.md)
[![pt-br](https://img.shields.io/badge/lang-pt--br-green.svg)](./README.pt-br.md)

![Data Structures and Algorithms](./assets/dsa.jpg)

This is a collection of Data Structures and Algorithms, currently implemented in TypeScript. It is a work in progress and will be updated regularly.

The main purpose of this repository is to help me learn and understand the concepts of Data Structures and Algorithms. I hope it will also help others who are interested in learning about them.

## Data Structures

- [Dynamic Array](./src/data-structures/dynamic-array/README.md)
- [Linked List](./src/data-structures/linked-list/README.md)
- [Stack](./src/data-structures/stack/README.md)
- [Queue](./src/data-structures/queue/README.md)

## Algorithms

### Sorting

- [Selection Sort](./src/algorithms/sorting/selection-sort/README.md)
- [Insertion Sort](./src/algorithms/sorting/insertion-sort/README.md)
- [Merge Sort](./src/algorithms/sorting/merge-sort/README.md)
- [Quick Sort](./src/algorithms/sorting/quick-sort/README.md)

### Shuffling

- [Fisher-Yates Shuffle](./src/algorithms/shuffling/fisher-yates/README.md)

## Tests

To run the tests, first install the dependencies, then run `npm test`:

```bash
npm install
npm test
```

Or, if you prefer, you can run it using Docker:

```bash
docker build -t dsa .
docker run -it dsa
```

## Contributing

Contributions are welcome! If you find any bugs or have any suggestions, please create an issue or a pull request.

## References

- [Algorithms, Part I by Princeton University](https://www.coursera.org/learn/algorithms-part1)
- Wikipedia