20 Days of Data Structures and Algorithms
Introduction
This is a collection of simple Data Structures and Algorithms that have uses in a lot of different fields. The goal of this project is to help you learn these concepts and to help you practice them. I have implemented in Go, JavaScript and Python. But you can implement them in any language you want.
List of Data Structures and Algorithms
Data Structures
- Linked List
- Queue and Priority Queue
- Stack
- Hash Table
- Heap
- Trie
- Binary Search Tree and AVL Tree
- Red and Black Tree and Segment Tree
- Directed and Undirected Graph
- Disjoint Set
- Bloom Filter
Algorithms
How to use this project
- Fork this repository
- Clone your forked repository
- Create a new branch for each day
- Solve the problem for the day
- Commit your code
- Push your code to your forked repository
- Create a pull request to this repository
- Repeat steps 3-7 for the next day
How to contribute
Create a new issue with the title of the day you want to contribute. For example, if you want to contribute to day 1, create an issue with the title Day 1
. Then, you can create a pull request with the solution for that day.