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++)