Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LukeLin/js-stl
Data structures implemented in JS
https://github.com/LukeLin/js-stl
data-structures
Last synced: 2 days ago
JSON representation
Data structures implemented in JS
- Host: GitHub
- URL: https://github.com/LukeLin/js-stl
- Owner: LukeLin
- License: mit
- Created: 2014-03-24T01:30:06.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-10-17T14:50:33.000Z (about 4 years ago)
- Last Synced: 2024-05-22T17:07:15.976Z (6 months ago)
- Topics: data-structures
- Language: JavaScript
- Homepage:
- Size: 11 MB
- Stars: 745
- Watchers: 36
- Forks: 125
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/9ed57b53d0e64ff8a200d31577cf6881)](https://app.codacy.com/app/LukeLin/js-stl?utm_source=github.com&utm_medium=referral&utm_content=LukeLin/js-stl&utm_campaign=Badge_Grade_Dashboard)
[![Build](https://img.shields.io/travis/LukeLin/js-stl.svg)](https://travis-ci.org/LukeLin/js-stl)# js-stl
Classic and high performance data structures implemented in javascript.
1. npm i
2. npm run build // for production build
3. npm run build:dev // for development build
4. babel-node ./src/xx.js // run xx.js
5. npm run build:es5 // for node server build
6. npm test // run tests#### Directory
* Array
* [x] [CrossList](./src/Array/CrossList.js)
* [x] [TSMatrix](./src/Array/TSMatrix.js)
* [x] [algorithms](./src/Array/algorithms.js)* Binary Tree
* [x] [BinaryTree](./src/BinaryTree/BinaryTree.js)
* [x] [huffManCoding](./src/BinaryTree/huffManCoding.js)
* [x] [backtracking](./src/algorithms/backtracking.js)* Generalized List
* [x] [GList](./src/GeneralizedList/GList.js)* Graph
* [x] [AdjacencyListGraph](./src/Graph/AdjacencyListGraph.js)
* [x] [AdjacencyMatrixGraph](./src/Graph/AdjacencyMatrixGraph.js)
* [x] [AMLGraph](./src/Graph/AMLGraph.js)
* [x] [OLGraph](./src/Graph/OLGraph.js)* List
* [x] [LinkedList](./src/List/LinkedList.js)
* [x] [LinearList](./src/List/LinearList.js)
* [x] [DoubleLinkedList](./src/List/doubleLinkedList.js)
* [ ] [StaticLinkedList](./src/List/StaticLinkedList.js)
* [x] [LRUCache](./src/List/LRU.js)
* [x] [SkipList](./src/List/SkipList.js)* Queue
* [x] [Queue](./src/Queue/Queue.js)
* [x] [CycleQueue](./src/Queue/CycleQueue.js)
* [x] [PriorityQueue](./src/Queue/PriorityQueue.js)* Stack
* [x] [Stack](./src/Stack/index.js)* String
* [x] [HeapString](./src/String/HString.js)
* [x] [LString](./src/String/LString.js)
* [x] [SString](./src/String/SString.js)
* [x] [algorithms](./src/String/string-algorithms.js)* Search
* [x] [sequentialSearch](./src/Search/sequentialSearch.js)
* [x] [binarySearch](./src/Search/BinarySearch.js)
* [x] [fibonacciSearch](./src/Search/fibonacciSearch.js)
* [x] [SecondOptimalSearchTree](./src/Search/SOSTree.js)
* [x] [BinarySortedTree](./src/Search/BinarySortedTree.js)
* [x] [AVLTree](./src/Search/AVLTree.js)
* [x] [RedBlackTree](./src/Search/RedBlackTree.js)
* [x] [BTree](./src/Search/BTree.js)
* [x] [B+Tree](./src/Search/BPlusTree.js)
* [ ] [DigitalSearchTree / DictionaryTree](./src/Search/DigitalSearchTree.js)
* [x] DoubleLinkedTree
* [x] TrieTree
* [ ] PatriciaTree todo
* [x] [SuffixTree](./src/Search/SuffixTree.js)
* [x] [HashTable](./src/Search/HashTable.js)
* [ ] Treap todo
* [ ] SplayTree todo
* [ ] BitMap todo
* [x] [Bloom Filter](./src/Search/BloomFilter.js)
* [x] [ConsistentHash](./src/Search/ConsistentHash.js)* Heap
* [x] [Heap](./src/Heap/index.js)* Sort
* [x] [insertion sort](./src/Sort/insertion/index.js)
* [x] straightInsertSort
* [x] binaryInsertSort
* [x] path2InsertSort
* [x] staticLinkedListInsertSort
* [x] shellSort
* [x] [exchange sort](./src/Sort/exchange/index.js)
* [x] bubbleSort
* [x] bubbleSort2
* [x] cockTailSort
* [x] cockTailSort2
* [x] quickSortRecursive
* [x] quickSortRecursive2
* [x] quickSortNonRecursive
* [x] quickSort
* [x] oddEvenSort
* [x] [selection sort](./src/Sort/selection/index.js)
* [x] simpleSelectionSort
* [x] heapSort* [x] [merge sort](./src/Sort/merging/index.js)
* [x] mergeSortRecursive
* [x] mergeSortNonRecursive
* [x] natureMergeSort
* [x] naturalMergeSort
* [x] linkedListNaturalMergeSort* [x] [distribution sort](./src/Sort/distribution/index.js)
* [x] countSort
* [x] radixSort
* [x] bucketSort