๐ฟ Data Structures
Advanced Data Structures by Erik Demaine
Playground for data structures in JavaScript. This is a child project of js-library and the twin project of js-algorithms.
This README regroups dozens of projects focusing on implementing data structures with JavaScript. This project itself does not contain any code.
- ๐ข @list-abstraction/specification : List specification for JavaScript
- @aureooms/js-arraylist : Dynamic array data structures for JavaScript
- ๐ @data-structure/deque : Python's deque data structure for JavaScript
โ๏ธ @list-abstraction/doubly-linked-list : Doubly linked list data structures for JavaScriptโ๏ธ @data-structure-algebra/doubly-linked-list : Doubly linked lists for JavaScript
- ๐ @data-structure-algebra/circularly-linked-list : Circularly linked lists for JavaScript
- ๐ฎ @aureooms/js-sll : Singly linked list data structures for JavaScript
- ๐ฎ @data-structure-algebra/singly-linked-list : Singly linked lists for JavaScript
- ๐ผ @aureooms/js-fifo : First In, First Out data structures for JavaScript
- ๐ฆ @aureooms/js-lifo : Last In, First Out data structures for JavaScript
๐ Heaps
- ๐ป @heap-data-structure/specification: Specification for heap data structures in JavaScript
- ๐ @heap-data-structure/d-ary-heap: d-ary heap data structure for JavaScript
- ๐ @heap-data-structure/pairing-heap: Pairing heap data structure for JavaScript
- ๐ @heap-data-structure/fibonacci-heap: Fibonacci heap data structure for JavaScript
- ๐ @heap-data-structure/binomial-heap: Binomial heap data structure for JavaScript
- ๐ @comparison-sorting/heap-sort: Heap sort algorithm for Javascript
- ๐ฆ @data-structure/heapq: Python's
heapq
library for Javascript
- @aureooms/js-bst : Binary search tree data structures for JavaScript
- ๐ @binary-search-tree/red-black-tree : Red-black tree data structure for JavaScript
- โฉ @aureooms/js-skip-list : Skip list data structure for JavaScript
- โ๏ธ @trie-data-structure/uncompressed-trie : Trie data structures for JavaScript
- ๐ฒ @functional-data-structure/persistent : Persistent data structures for JavaScript
- ๐ต @functional-data-structure/fingertree: Finger tree data structure for JavaScript
- ๐ฆ @functional-data-structure/persistent-stack: Persistent stack data structure for JavaScript
Nothing yet.
- ๐ @union-find/non-contiguous : Non-contiguously-allocated disjoint-set data structures for JavaScript
- ๐ @union-find/contiguous : Contiguously-allocated disjoint-set set data structures for JavaScript
- ๐ @collection-abstraction/pairs: Pairs set for JavaScript
- @aureooms/js-gn : Graphs and networks data structures and algorithms for JavaScript
- @aureooms/js-collections : Python's collections library for JavaScript
- @aureooms/js-collections-chainmap : Collections library for JavaScript
- ๐ฏ @collection-abstraction/counter : Python's counter data structure for JavaScript
- @aureooms/js-collections-defaultdict : Python's defaultdict data structure for JavaScript
- ๐ @data-structure/deque : Python's deque data structure for JavaScript
- ๐ @collection-abstraction/dict : Collections library for JavaScript
- @aureooms/js-collections-namedtuple : Python's namedtuple data structure for JavaScript
- @aureooms/js-collections-ordereddict : Python's ordereddict data structure for JavaScript
- @aureooms/js-collections-set : Python's set data structure for JavaScript
- @aureooms/js-cg : Computational geometry data structures and algorithms for JavaScript
- ๐ฌ @aureooms/js-pubsub : Publish-subscribe pattern data structures for JavaScript
- @aureooms/js-dict : Dictionary data structure for JavaScript
Those packages aim to provide code bricks that are as generic as possible. Some examples are:
- a
d
-ary heap that can be parametrized with anyd
, - binary search trees built on the same left rotate and right rotate functions,
- an ArrayList implementation with parameterizable allocator.
A list of links and projects focusing on data structures implementation.
- https://github.com/nzakas/computer-science-in-javascript
- https://github.com/benoitvallon/computer-science-in-javascript
- http://www.nayuki.io
- https://github.com/Yomguithereal/mnemonist
- https://github.com/patmorin/ods (C++, Java, Python)
- http://www.nayuki.io (C, C++, Java, C#, Python, Haskell, MATLAB and others)
- http://rosettacode.org (All kinds of languages)
- https://github.com/mahmoud/boltons (Python)
- https://github.com/simongog/sdsl-lite (C++)