# Introduction
This package is a simple implementation for commonly used data structures in javascript.

### NOTE:
this package is for learning purposes and i am implementing as i go on learning using it in production is on your own risk.

## What i am learning ?
- Data structures and their implementation.
- Automated deployment with `npm` using `TravisCI`
- Automated Unit tests
- Automated Semantic versioning using `semantic-release` on multiple channels with different `dist-tags` for `npm`
- GitFlow workflow on Github and managing PRs (having actual contributions is the target to achieve this goal).
- Conventional Commits

## Road map for implementing structure
- [x] `SinglyLinkedList`
- [x] `DoublyLinkedList`
- [x] `Queue` and `Stack`
- [] `BinaryHeap`: a generic class to use for `MaxBinaryHeap` and `MinBinaryHeap`
- [] `BinarySearchTree`
- [] `PriorityQueue`
- [] `Graph`,`NonWeightedGraph`, `WeightedGraph`, `DirectionalGraph`, `NonDirectionalGraph`: maybe implement one class that accepts attributes to change how the graph is treated ?
