{"id":16641989,"url":"https://github.com/make-github-pseudonymous-again/js-data-structures","last_synced_at":"2025-03-16T22:31:32.186Z","repository":{"id":26369318,"uuid":"29818543","full_name":"make-github-pseudonymous-again/js-data-structures","owner":"make-github-pseudonymous-again","description":":herb: Data structures for JavaScript","archived":false,"fork":false,"pushed_at":"2022-11-14T18:42:22.000Z","size":2135,"stargazers_count":57,"open_issues_count":22,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-11T16:06:06.609Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/make-github-pseudonymous-again.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-25T15:26:07.000Z","updated_at":"2024-02-23T19:57:06.000Z","dependencies_parsed_at":"2022-08-30T20:00:24.238Z","dependency_job_id":null,"html_url":"https://github.com/make-github-pseudonymous-again/js-data-structures","commit_stats":null,"previous_names":["aureooms/js-data-structures"],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-data-structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-data-structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-data-structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-data-structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/make-github-pseudonymous-again","download_url":"https://codeload.github.com/make-github-pseudonymous-again/js-data-structures/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830952,"owners_count":20354854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-10-12T07:48:31.127Z","updated_at":"2025-03-16T22:31:31.879Z","avatar_url":"https://github.com/make-github-pseudonymous-again.png","language":null,"readme":":herb: [Data Structures](https://github.com/make-github-pseudonymous-again/js-data-structures#readme)\n[![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)\n[![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)\n==\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://courses.csail.mit.edu/6.851/fall17\"\u003e\n\u003cimg src=\"https://ipfs.io/ipfs/QmRzr2vnMFBTAeD4htkBytbF1wZK83eFRGGNkU3fpXfW9T\" width=\"600\"\u003e\n\u003c/a\u003e\u003cbr/\u003e\n\u003ci\u003eAdvanced Data Structures\u003c/i\u003e by \u003ca href=\"https://erikdemaine.org\"\u003eErik Demaine\u003c/a\u003e\n\u003c/p\u003e\n\nPlayground for data structures in JavaScript.\nThis is a child project of [js-library](https://github.com/make-github-pseudonymous-again/js-library)\nand\nthe twin project of [js-algorithms](https://github.com/make-github-pseudonymous-again/js-algorithms).\n\n## :newspaper: Description\n\nThis README regroups dozens of projects focusing on implementing data structures with JavaScript.\nThis project itself does not contain any code.\n\n## :baby: Children\n\n### :oden: Sequences\n\n  - :oden: [@list-abstraction/specification](https://github.com/list-abstraction/specification) : List specification for JavaScript\n\n#### Arrays\n\n  - [@aureooms/js-arraylist](https://github.com/make-github-pseudonymous-again/js-arraylist) : Dynamic array data structures for JavaScript\n\n#### Double-ended queues\n  - :snake: [@data-structure/deque](https://github.com/data-structures-and-algorithms/deque) :  Python's deque data structure for JavaScript\n\n#### Linked lists\n\n  - :left_right_arrow: [@list-abstraction/doubly-linked-list](https://github.com/list-abstraction/doubly-linked-list) : Doubly linked list data structures for JavaScript\n    - :left_right_arrow: [@data-structure-algebra/doubly-linked-list](https://github.com/data-structure-algebra/doubly-linked-list) : Doubly linked lists for JavaScript\n  - :repeat: [@data-structure-algebra/circularly-linked-list](https://github.com/data-structure-algebra/circularly-linked-list) : Circularly linked lists for JavaScript\n  - :izakaya_lantern: [@aureooms/js-sll](https://github.com/make-github-pseudonymous-again/js-sll) : Singly linked list data structures for JavaScript\n    - :izakaya_lantern: [@data-structure-algebra/singly-linked-list](https://github.com/data-structure-algebra/singly-linked-list) : Singly linked lists for JavaScript\n  - :blossom: [@aureooms/js-fifo](https://github.com/make-github-pseudonymous-again/js-fifo) : First In, First Out data structures for JavaScript\n\n#### Stacks\n  - :icecream: [@aureooms/js-lifo](https://github.com/make-github-pseudonymous-again/js-lifo) : Last In, First Out data structures for JavaScript\n\n### :juggling_person: Maintaining priorities\n\n#### :fallen_leaf: [Heaps](https://github.com/heap-data-structure/about)\n\n  - :mount_fuji: [@heap-data-structure/specification](https://github.com/heap-data-structure/specification): Specification for heap data structures in JavaScript\n  - :octopus: [@heap-data-structure/d-ary-heap](https://github.com/heap-data-structure/d-ary-heap): d-ary heap data structure for JavaScript\n  - :cherries: [@heap-data-structure/pairing-heap](https://github.com/heap-data-structure/pairing-heap): Pairing heap data structure for JavaScript\n  - :shell: [@heap-data-structure/fibonacci-heap](https://github.com/heap-data-structure/fibonacci-heap): Fibonacci heap data structure for JavaScript\n  - :cherries: [@heap-data-structure/binomial-heap](https://github.com/heap-data-structure/binomial-heap): Binomial heap data structure for JavaScript\n  - :octopus: [@comparison-sorting/heap-sort](https://github.com/comparison-sorting/heap-sort): Heap sort algorithm for Javascript\n  - :vertical_traffic_light: [@data-structure/heapq](https://github.com/data-structures-and-algorithms/js-heapq): Python's `heapq` library for Javascript\n\n### :mag: Searching\n\n#### Total order\n\n##### :seedling: Search trees\n\n  - [@aureooms/js-bst](https://github.com/make-github-pseudonymous-again/js-bst) : Binary search tree data structures for JavaScript\n    - :christmas_tree: [@binary-search-tree/red-black-tree](https://github.com/binary-search-tree/red-black-tree) : Red-black tree data structure for JavaScript\n\n##### Other\n\n  - :fast_forward: [@aureooms/js-skip-list](https://github.com/make-github-pseudonymous-again/js-skip-list) : Skip list data structure for JavaScript\n\n#### Strings\n\n##### :chains: Tries\n  - :chains: [@trie-data-structure/uncompressed-trie](https://github.com/trie-data-structure/uncompressed-trie) : Trie data structures for JavaScript\n\n### :evergreen_tree: Persistent data structures\n  - :evergreen_tree: [@functional-data-structure/persistent](https://github.com/functional-data-structure/persistent) : Persistent data structures for JavaScript\n    - :cactus: [@functional-data-structure/fingertree](https://github.com/functional-data-structure/finger-tree): Finger tree data structure for JavaScript\n    - :icecream: [@functional-data-structure/persistent-stack](https://github.com/functional-data-structure/persistent-stack): Persistent stack data structure for JavaScript\n\n### :hocho: Hashing\n\n  Nothing yet.\n\n### :rice_ball: Union-find (disjoint sets)\n  - :rice_ball: [@union-find/non-contiguous](https://github.com/union-find/non-contiguous) : Non-contiguously-allocated disjoint-set data structures for JavaScript\n  - :rice: [@union-find/contiguous](https://github.com/union-find/contiguous) : Contiguously-allocated disjoint-set set data structures for JavaScript\n\n### :globe_with_meridians: Graphs\n\n  - :cherries: [@collection-abstraction/pairs](https://github.com/collection-abstraction/pairs): Pairs set for\n    JavaScript\n  - [@aureooms/js-gn](https://github.com/make-github-pseudonymous-again/js-gn) : Graphs and networks data structures and algorithms for JavaScript\n\n### :school_satchel: Python's collections library for Javascript\n\n  - [@aureooms/js-collections](https://github.com/make-github-pseudonymous-again/js-collections) :  Python's collections library for JavaScript\n    - [@aureooms/js-collections-chainmap](https://github.com/make-github-pseudonymous-again/js-collections-chainmap) :  Collections library for JavaScript\n    - :100: [@collection-abstraction/counter](https://github.com/collection-abstraction/counter) :  Python's counter data structure for JavaScript\n    - [@aureooms/js-collections-defaultdict](https://github.com/make-github-pseudonymous-again/js-collections-defaultdict) :  Python's defaultdict data structure for JavaScript\n    - :snake: [@data-structure/deque](https://github.com/data-structures-and-algorithms/deque) :  Python's deque data structure for JavaScript\n    - :book: [@collection-abstraction/dict](https://github.com/collection-abstraction/dict) :  Collections library for JavaScript\n    - [@aureooms/js-collections-namedtuple](https://github.com/make-github-pseudonymous-again/js-collections-namedtuple) :  Python's namedtuple data structure for JavaScript\n    - [@aureooms/js-collections-ordereddict](https://github.com/make-github-pseudonymous-again/js-collections-ordereddict) :  Python's ordereddict data structure for JavaScript\n    - [@aureooms/js-collections-set](https://github.com/make-github-pseudonymous-again/js-collections-set) :  Python's set data structure for JavaScript\n\n### :triangular_ruler: Geometry\n\n  - [@aureooms/js-cg](https://github.com/make-github-pseudonymous-again/js-cg) : Computational geometry data structures and algorithms for JavaScript\n\n### Miscellaneous\n  - :mailbox_with_mail: [@aureooms/js-pubsub](https://github.com/make-github-pseudonymous-again/js-pubsub) : Publish-subscribe pattern data structures for JavaScript\n  - [@aureooms/js-dict](https://github.com/make-github-pseudonymous-again/js-dict) : Dictionary data structure for JavaScript\n\nThose packages aim to provide *code bricks* that are as generic as possible.\nSome examples are:\n  - [a `d`-ary heap that can be parametrized with any `d`](https://github.com/heap-data-structure/d-ary-heap),\n  - [binary search trees built on the same left rotate and right rotate functions](https://github.com/make-github-pseudonymous-again/js-bst),\n  - [an ArrayList implementation with parameterizable allocator](https://github.com/make-github-pseudonymous-again/js-arraylist).\n\n## :scroll: Reference\n\nA list of links and projects focusing on data structures implementation.\n\n### :coffee: Projects implementing data structures in JavaScript\n\n  - https://github.com/nzakas/computer-science-in-javascript\n  - https://github.com/benoitvallon/computer-science-in-javascript\n  - http://www.nayuki.io\n  - https://github.com/Yomguithereal/mnemonist\n\n### :peacock: Projects implementing data structures in other languages\n\n  - https://github.com/patmorin/ods (C++, Java, Python)\n  - http://www.nayuki.io (C, C++, Java, C#, Python, Haskell, MATLAB and others)\n  - http://rosettacode.org (All kinds of languages)\n  - https://github.com/mahmoud/boltons (Python)\n  - https://github.com/simongog/sdsl-lite (C++)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmake-github-pseudonymous-again%2Fjs-data-structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmake-github-pseudonymous-again%2Fjs-data-structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmake-github-pseudonymous-again%2Fjs-data-structures/lists"}