Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/make-github-pseudonymous-again/js-data-structures
:herb: Data structures for JavaScript
https://github.com/make-github-pseudonymous-again/js-data-structures
agpl binary-search-trees bloom-filters computer-science data-structure data-structures dict disjoint-sets fifo functional graphs hash-tables heaps immutable javascript lifo networks persitent pubsub search-trees
Last synced: 3 months ago
JSON representation
:herb: Data structures for JavaScript
- Host: GitHub
- URL: https://github.com/make-github-pseudonymous-again/js-data-structures
- Owner: make-github-pseudonymous-again
- License: agpl-3.0
- Created: 2015-01-25T15:26:07.000Z (almost 10 years ago)
- Default Branch: main
- Last Pushed: 2022-11-14T18:42:22.000Z (about 2 years ago)
- Last Synced: 2024-10-13T07:48:38.045Z (3 months ago)
- Topics: agpl, binary-search-trees, bloom-filters, computer-science, data-structure, data-structures, dict, disjoint-sets, fifo, functional, graphs, hash-tables, heaps, immutable, javascript, lifo, networks, persitent, pubsub, search-trees
- Homepage:
- Size: 2.04 MB
- Stars: 57
- Watchers: 6
- Forks: 3
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
:herb: [Data Structures](https://github.com/make-github-pseudonymous-again/js-data-structures#readme)
[![License](https://img.shields.io/github/license/make-github-pseudonymous-again/js-data-structures.svg?style=flat)](https://raw.githubusercontent.com/make-github-pseudonymous-again/js-data-structures/main/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/make-github-pseudonymous-again/js-data-structures.svg?style=flat)](https://github.com/make-github-pseudonymous-again/js-data-structures/issues)
==
Advanced Data Structures by Erik DemainePlayground for data structures in JavaScript.
This is a child project of [js-library](https://github.com/make-github-pseudonymous-again/js-library)
and
the twin project of [js-algorithms](https://github.com/make-github-pseudonymous-again/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
- :oden: [@list-abstraction/specification](https://github.com/list-abstraction/specification) : List specification for JavaScript
#### Arrays
- [@aureooms/js-arraylist](https://github.com/make-github-pseudonymous-again/js-arraylist) : Dynamic array data structures for JavaScript
#### Double-ended queues
- :snake: [@data-structure/deque](https://github.com/data-structures-and-algorithms/deque) : Python's deque data structure for JavaScript#### Linked lists
- :left_right_arrow: [@list-abstraction/doubly-linked-list](https://github.com/list-abstraction/doubly-linked-list) : Doubly linked list data structures for JavaScript
- :left_right_arrow: [@data-structure-algebra/doubly-linked-list](https://github.com/data-structure-algebra/doubly-linked-list) : Doubly linked lists for JavaScript
- :repeat: [@data-structure-algebra/circularly-linked-list](https://github.com/data-structure-algebra/circularly-linked-list) : Circularly linked lists for JavaScript
- :izakaya_lantern: [@aureooms/js-sll](https://github.com/make-github-pseudonymous-again/js-sll) : Singly linked list data structures for JavaScript
- :izakaya_lantern: [@data-structure-algebra/singly-linked-list](https://github.com/data-structure-algebra/singly-linked-list) : Singly linked lists for JavaScript
- :blossom: [@aureooms/js-fifo](https://github.com/make-github-pseudonymous-again/js-fifo) : First In, First Out data structures for JavaScript#### Stacks
- :icecream: [@aureooms/js-lifo](https://github.com/make-github-pseudonymous-again/js-lifo) : Last In, First Out data structures for JavaScript### :juggling_person: Maintaining priorities
#### :fallen_leaf: [Heaps](https://github.com/heap-data-structure/about)
- :mount_fuji: [@heap-data-structure/specification](https://github.com/heap-data-structure/specification): Specification for heap data structures in JavaScript
- :octopus: [@heap-data-structure/d-ary-heap](https://github.com/heap-data-structure/d-ary-heap): d-ary heap data structure for JavaScript
- :cherries: [@heap-data-structure/pairing-heap](https://github.com/heap-data-structure/pairing-heap): Pairing heap data structure for JavaScript
- :shell: [@heap-data-structure/fibonacci-heap](https://github.com/heap-data-structure/fibonacci-heap): Fibonacci heap data structure for JavaScript
- :cherries: [@heap-data-structure/binomial-heap](https://github.com/heap-data-structure/binomial-heap): Binomial heap data structure for JavaScript
- :octopus: [@comparison-sorting/heap-sort](https://github.com/comparison-sorting/heap-sort): Heap sort algorithm for Javascript
- :vertical_traffic_light: [@data-structure/heapq](https://github.com/data-structures-and-algorithms/js-heapq): Python's `heapq` library for Javascript### :mag: Searching
#### Total order
##### :seedling: Search trees
- [@aureooms/js-bst](https://github.com/make-github-pseudonymous-again/js-bst) : Binary search tree data structures for JavaScript
- :christmas_tree: [@binary-search-tree/red-black-tree](https://github.com/binary-search-tree/red-black-tree) : Red-black tree data structure for JavaScript##### Other
- :fast_forward: [@aureooms/js-skip-list](https://github.com/make-github-pseudonymous-again/js-skip-list) : Skip list data structure for JavaScript
#### Strings
##### :chains: Tries
- :chains: [@trie-data-structure/uncompressed-trie](https://github.com/trie-data-structure/uncompressed-trie) : Trie data structures for JavaScript### :evergreen_tree: Persistent data structures
- :evergreen_tree: [@functional-data-structure/persistent](https://github.com/functional-data-structure/persistent) : Persistent data structures for JavaScript
- :cactus: [@functional-data-structure/fingertree](https://github.com/functional-data-structure/finger-tree): Finger tree data structure for JavaScript
- :icecream: [@functional-data-structure/persistent-stack](https://github.com/functional-data-structure/persistent-stack): Persistent stack data structure for JavaScript### :hocho: Hashing
Nothing yet.
### :rice_ball: Union-find (disjoint sets)
- :rice_ball: [@union-find/non-contiguous](https://github.com/union-find/non-contiguous) : Non-contiguously-allocated disjoint-set data structures for JavaScript
- :rice: [@union-find/contiguous](https://github.com/union-find/contiguous) : Contiguously-allocated disjoint-set set data structures for JavaScript### :globe_with_meridians: Graphs
- :cherries: [@collection-abstraction/pairs](https://github.com/collection-abstraction/pairs): Pairs set for
JavaScript
- [@aureooms/js-gn](https://github.com/make-github-pseudonymous-again/js-gn) : Graphs and networks data structures and algorithms for JavaScript### :school_satchel: Python's collections library for Javascript
- [@aureooms/js-collections](https://github.com/make-github-pseudonymous-again/js-collections) : Python's collections library for JavaScript
- [@aureooms/js-collections-chainmap](https://github.com/make-github-pseudonymous-again/js-collections-chainmap) : Collections library for JavaScript
- :100: [@collection-abstraction/counter](https://github.com/collection-abstraction/counter) : Python's counter data structure for JavaScript
- [@aureooms/js-collections-defaultdict](https://github.com/make-github-pseudonymous-again/js-collections-defaultdict) : Python's defaultdict data structure for JavaScript
- :snake: [@data-structure/deque](https://github.com/data-structures-and-algorithms/deque) : Python's deque data structure for JavaScript
- :book: [@collection-abstraction/dict](https://github.com/collection-abstraction/dict) : Collections library for JavaScript
- [@aureooms/js-collections-namedtuple](https://github.com/make-github-pseudonymous-again/js-collections-namedtuple) : Python's namedtuple data structure for JavaScript
- [@aureooms/js-collections-ordereddict](https://github.com/make-github-pseudonymous-again/js-collections-ordereddict) : Python's ordereddict data structure for JavaScript
- [@aureooms/js-collections-set](https://github.com/make-github-pseudonymous-again/js-collections-set) : Python's set data structure for JavaScript### :triangular_ruler: Geometry
- [@aureooms/js-cg](https://github.com/make-github-pseudonymous-again/js-cg) : Computational geometry data structures and algorithms for JavaScript
### Miscellaneous
- :mailbox_with_mail: [@aureooms/js-pubsub](https://github.com/make-github-pseudonymous-again/js-pubsub) : Publish-subscribe pattern data structures for JavaScript
- [@aureooms/js-dict](https://github.com/make-github-pseudonymous-again/js-dict) : Dictionary data structure for JavaScriptThose packages aim to provide *code bricks* that are as generic as possible.
Some examples are:
- [a `d`-ary heap that can be parametrized with any `d`](https://github.com/heap-data-structure/d-ary-heap),
- [binary search trees built on the same left rotate and right rotate functions](https://github.com/make-github-pseudonymous-again/js-bst),
- [an ArrayList implementation with parameterizable allocator](https://github.com/make-github-pseudonymous-again/js-arraylist).## :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++)