{"id":18366415,"url":"https://github.com/aveek-saha/js-data-structs","last_synced_at":"2025-07-11T19:37:09.033Z","repository":{"id":46637991,"uuid":"160761664","full_name":"Aveek-Saha/js-data-structs","owner":"Aveek-Saha","description":"A small data structures library for JavaScript","archived":false,"fork":false,"pushed_at":"2022-03-14T15:53:42.000Z","size":259,"stargazers_count":6,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-10T10:16:02.259Z","etag":null,"topics":["algorithm","algorithms","binary-search-tree","binary-trees","data-structures","fisher-yates-shuffle","graph","graphs","hacktoberfest","heap-sort","javascript","lzw-compression","queue","stack","tree","trie-structure"],"latest_commit_sha":null,"homepage":"https://data-structs.netlify.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aveek-Saha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/aveek.saha"]}},"created_at":"2018-12-07T02:47:11.000Z","updated_at":"2022-03-14T15:30:26.000Z","dependencies_parsed_at":"2022-08-29T19:30:42.683Z","dependency_job_id":null,"html_url":"https://github.com/Aveek-Saha/js-data-structs","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Aveek-Saha/js-data-structs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2Fjs-data-structs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2Fjs-data-structs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2Fjs-data-structs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2Fjs-data-structs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aveek-Saha","download_url":"https://codeload.github.com/Aveek-Saha/js-data-structs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2Fjs-data-structs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264887921,"owners_count":23678774,"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":["algorithm","algorithms","binary-search-tree","binary-trees","data-structures","fisher-yates-shuffle","graph","graphs","hacktoberfest","heap-sort","javascript","lzw-compression","queue","stack","tree","trie-structure"],"created_at":"2024-11-05T23:17:34.863Z","updated_at":"2025-07-11T19:37:08.986Z","avatar_url":"https://github.com/Aveek-Saha.png","language":"JavaScript","readme":"\n\u003ch1 align=\"center\"\u003e\nJS data structs\u003cbr\u003e\n\n\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003e\n\n\u003cimg src =\"https://img.shields.io/npm/dt/js-data-structs.svg?style=for-the-badge\"\u003e\n\u003cimg src =\"https://img.shields.io/npm/v/js-data-structs.svg?style=for-the-badge\"\u003e\n\u003c!-- \u003cimg alt=\"jsDelivr hits (npm)\" src=\"https://img.shields.io/jsdelivr/npm/hm/js-data-structs?style=for-the-badge\"\u003e --\u003e\n\u003cimg alt=\"npm bundle size\" src=\"https://img.shields.io/bundlephobia/min/js-data-structs?style=for-the-badge\"\u003e\n\u003cimg alt=\"Codecov\" src=\"https://img.shields.io/codecov/c/gh/aveek-saha/js-data-structs?style=for-the-badge\"\u003e\n\u003c/h3\u003e\n\n\nA small data structures and algorithms library for JavaScript.\n\n## Installing\n### NPM package\n```\nnpm i js-data-structs\n```\n\n[**NPM page**](https://www.npmjs.com/package/js-data-structs)\n\n### CDN\n```\nhttps://cdn.jsdelivr.net/npm/js-data-structs@latest/dist/js-data-structs.umd.js\n```\n\n[**jsDeliver**](https://www.jsdelivr.com/package/npm/js-data-structs)\n\n## Implemented Data structures/ Algos-\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand\u003c/summary\u003e\n\n- Trees\n    - Binary Trees\n    - Binary Search Trees\n- Stack\n- Queue\n    - Priority Queue\n- Graph \n    - BFS\n    - DFS\n    - Topological Sort\n    - Dijkstra's Algorithm\n- Trie\n- Power set\n- Heap's algorithm (array permutations)\n- Linked List\n- Doubly Linked List\n- Heap Sort\n    - Max heap\n    - Min heap\n- Z algorithm (pattern matching)\n- N Queens\n- LZW\n    - Encoding\n    - Decoding\n- Fisher–Yates shuffle Algorithm\n- Binary Search\n- Rabin Karp\n- Levenshtein Distance\n    \n\u003c/details\u003e\n\n# Contributing\n \nBefore contributing please read [CONTRIBUTING.md](https://github.com/Aveek-Saha/js-data-structs/blob/master/CONTRIBUTING.md) for guidelines.\n \nIn addition to the guidelines mentioned in `CONTRIBUTING.md` there are some additional things to keep in mind while raising pull requests. Before your pull request can be accepted there are some checks that have to pass. To run these checks locally-\n \n- `npm run prepare` to compile with Rollup and Babel\n- `npm run format` to format with Prettier\n- `npm run lint` to check for linting errors\n- `npm test` to run the Jest unit tests\n \nNew algorithms or data structures are added to `./src/` and you also have to add test cases for all functions implemented in the `./test/` folder.\n\n\n### [Usage guide](https://data-structs.netlify.com/guide/trees.html)\n\n\n# Future features\n\u003cdetails\u003e\n\u003csummary\u003eExpand\u003c/summary\u003e\n\n- [x] Minified version\n\n- [x] Linked List\n    - [ ] Circular Linked List\n    - [x] Doubly Linked List\n- [x] Heapsort\n    - [x] Max heap\n    - [x] Min heap\n- [ ] Suffix trees\n- [ ] More Graph algorithms\n    - [x] Topological Sort\n    - [x] Dijkstra's Algorithm\n- [x] LZW\n    - [x] Encoding\n    - [x] Decoding\n\u003c/details\u003e","funding_links":["https://www.buymeacoffee.com/aveek.saha"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveek-saha%2Fjs-data-structs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faveek-saha%2Fjs-data-structs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveek-saha%2Fjs-data-structs/lists"}