# lgrthms

Algorithms and data structures for your JavaScript and TypeScript projects 🧑‍💻

## Installation

### npm

```zsh
npm install lgrthms
```

### yarn

```zsh
yarn add lgrthms
```

## Content

### Data Structures

* Singly Linked List
* Doubly Linked List
* Binary Search Tree (BST)
* Binary Tree
* Stack
* Queue
* Priority Queue
* Min Heap
* Max Heap
* Graph
* Trie

### Search Algorithms

* Binary Search
* Shifted Binary Search
* Search For Range
* Find K Smallest
* Find K Largest
* Find K Largest
* Quickselect
* Search In Matrix
* Search In Sorted Matrix

### Sort Algorithms

* Bubble Sort
* Insertion Sort
* Selection Sort
* Quick Sort
* Heap Sort
* Merge Sort
* Radix Sort
* Bytes Sort

### String Algorithms

* Knuth-Morris-Pratt Algorithm
* Levenshtein Distance

### Graph Algorithms

* Depth-first Search (DFS)
* Breadth-first Search (BFS)
* Topological Sort
* Dijkstra's Algorithm
* BFS Shortest Path
* A* Algorithm
