js-data-structures
js-data-structures copied to clipboard
:herb: Data structures for JavaScript
:herb: 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.
:newspaper: Description
This README regroups dozens of projects focusing on implementing data structures with JavaScript. This project itself does not contain any code.
:baby: Children
:oden: Sequences
- @aureooms/js-list-spec : List specification for JavaScript
Arrays
- @aureooms/js-arraylist : Dynamic array data structures for JavaScript
Double-ended queues
- :snake: @data-structure/deque : Python's deque data structure for JavaScript
Linked lists
- :oden: @aureooms/js-dll : Doubly linked list data structures for JavaScript
- :izakaya_lantern: @aureooms/js-sll : Singly linked list data structures for JavaScript
- :repeat: @data-structure-algebra/circularly-linked-list : Circularly linked lists for JavaScript
- :izakaya_lantern: @data-structure-algebra/singly-linked-list : Singly linked lists for JavaScript
- :blossom: @aureooms/js-fifo : First In, First Out data structures for JavaScript
Stacks
- :icecream: @aureooms/js-lifo : Last In, First Out data structures for JavaScript
:juggling_person: Maintaining priorities
:fallen_leaf: Heaps
- :mount_fuji: @heap-data-structure/specification: Specification for heap data structures in JavaScript
- :octopus: @heap-data-structure/d-ary-heap: d-ary heap data structure for JavaScript
- :cherries: @heap-data-structure/pairing-heap: Pairing heap data structure for JavaScript
- :shell: @heap-data-structure/fibonacci-heap: Fibonacci heap data structure for JavaScript
- :cherries: @heap-data-structure/binomial-heap: Binomial heap data structure for JavaScript
- :octopus: @comparison-sorting/heap-sort: Heap sort algorithm for Javascript
- :vertical_traffic_light: @data-structure/heapq: Python's
heapq
library for Javascript
:mag: Searching
Total order
:seedling: Search trees
-
@aureooms/js-bst : Binary search tree data structures for JavaScript
- :christmas_tree: @binary-search-tree/red-black-tree : Red-black tree data structure for JavaScript
Other
- :fast_forward: @aureooms/js-skip-list : Skip list data structure for JavaScript
Strings
:chains: Tries
- :chains: @trie-data-structure/uncompressed-trie : Trie data structures for JavaScript
:evergreen_tree: Persistent data structures
- :evergreen_tree: @functional-data-structure/persistent : Persistent data structures for JavaScript
- :cactus: @functional-data-structure/fingertree: Finger tree data structure for JavaScript
- :icecream: @functional-data-structure/persistent-stack: Persistent stack data structure for JavaScript
:hocho: Hashing
Nothing yet.
:rice_ball: Disjoint sets (union-find)
- :rice_ball: @aureooms/js-disjoint-set : Disjoint-set data structures for JavaScript
- :rice: @aureooms/js-fixed-disjoint-set : Fixed-size-array-based disjoint-set set data structures for JavaScript
:globe_with_meridians: Graphs
- :cherries: @collection-abstraction/pairs: Pairs set for JavaScript
- @aureooms/js-gn : Graphs and networks data structures and algorithms for JavaScript
:school_satchel: Python's collections library for Javascript
-
@aureooms/js-collections : Python's collections library for JavaScript
- @aureooms/js-collections-chainmap : Collections library for JavaScript
- :100: @collection-abstraction/counter : Python's counter data structure for JavaScript
- @aureooms/js-collections-defaultdict : Python's defaultdict data structure for JavaScript
- :snake: @data-structure/deque : Python's deque data structure for JavaScript
- :book: @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
:triangular_ruler: Geometry
- @aureooms/js-cg : Computational geometry data structures and algorithms for JavaScript
Miscellaneous
- :mailbox_with_mail: @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.
:scroll: Reference
A list of links and projects focusing on data structures implementation.
:coffee: Projects implementing data structures in JavaScript
- 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
:peacock: Projects implementing data structures in other languages
- 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++)