js-algorithms
v1.9.2
Published
Javascript versions of classic software development algorithms
Downloads
66
Maintainers
Readme
JS-Algorithms
In case you want to prepare yourself for a job interview, or just need access to common data structures.
I've documented the process of creating this code here.
Problems
| Algorithm | Solution | |--------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | Binary Heap | code | | Binary Search Tree | code | | Depth First Search | code | | Fisher–Yates shuffle | code | | Max Heap | code | | Mergesort algorithm | code | | Min Heap | code | | Queue | code | | Quicksort algorithm | code | | Stack | code | | Tower of Hanoi | code | | Trie | code | | Suffix Tree |code | | Basic string compression counting repeated characters | code | | Are two strings permutations of each other | code | | Is a linked list a palindrome | code | | Smallest Enclosing Circle | code |
Description
Classic data structures and algorithms (with tests!) written in JavaScript
- Singly Linked List
- Min/Max Binary Heap
- Trie (With Pre-Order Traversal Sorting)
- Suffix Tree
- Stack (push, pop, peek, and isEmpty)
- Queue (add, remove, peek, isEmpty)
- Binary Search Tree
- Hash Table
As well as the following algorithms:
- Breadth First Search
- Depth First Search
- Binary Search
- Merge Sort
- Quick Sort
- Shuffle (Fisher–Yates)
- Smallest Enclosing Circle
Usage
If you want access to these data structures in your project, include this package.
> const algorithms: = require('js-algorithms')
> algorithms
{
dataStructures: {
binaryHeap: [Function],
binarySearchTree: [Function: bst],
linkedList: [Function],
maxHeap: [Function],
minHeap: [Function],
queue: [Function],
stack: [Function],
stackQueue: [Function],
trie: [Function],
suffixTree: [Function] },
algorithms: {
sorting: {
quickSort: [Function]
mergeSort: [Function]
},
shuffle: [Function],
enclosingCircle: [Function]
}}