{"id":13674969,"url":"https://github.com/LukeLin/js-stl","last_synced_at":"2025-04-28T22:32:15.895Z","repository":{"id":15318350,"uuid":"18048391","full_name":"LukeLin/js-stl","owner":"LukeLin","description":"Data structures implemented in JS","archived":false,"fork":false,"pushed_at":"2020-10-17T14:50:33.000Z","size":11566,"stargazers_count":745,"open_issues_count":0,"forks_count":125,"subscribers_count":36,"default_branch":"master","last_synced_at":"2024-05-22T17:07:15.976Z","etag":null,"topics":["data-structures"],"latest_commit_sha":null,"homepage":"","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/LukeLin.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":"2014-03-24T01:30:06.000Z","updated_at":"2023-11-03T17:10:54.000Z","dependencies_parsed_at":"2022-08-31T23:02:07.245Z","dependency_job_id":null,"html_url":"https://github.com/LukeLin/js-stl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeLin%2Fjs-stl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeLin%2Fjs-stl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeLin%2Fjs-stl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeLin%2Fjs-stl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukeLin","download_url":"https://codeload.github.com/LukeLin/js-stl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251397728,"owners_count":21583061,"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":["data-structures"],"created_at":"2024-08-02T12:00:22.296Z","updated_at":"2025-04-28T22:32:12.952Z","avatar_url":"https://github.com/LukeLin.png","language":"JavaScript","funding_links":[],"categories":["tech","Js"],"sub_categories":[],"readme":"[![Codacy Badge](https://api.codacy.com/project/badge/Grade/9ed57b53d0e64ff8a200d31577cf6881)](https://app.codacy.com/app/LukeLin/js-stl?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=LukeLin/js-stl\u0026utm_campaign=Badge_Grade_Dashboard)\n[![Build](https://img.shields.io/travis/LukeLin/js-stl.svg)](https://travis-ci.org/LukeLin/js-stl)\n\n\n\n# js-stl\n\nClassic and high performance data structures implemented in javascript.\n\n1. npm i\n2. npm run build            // for production build\n3. npm run build:dev        // for development build\n4. babel-node ./src/xx.js   // run xx.js\n5. npm run build:es5        // for node server build\n6. npm test                 // run tests\n\n\n#### Directory\n\n* Array\n    * [x] [CrossList](./src/Array/CrossList.js)\n    * [x] [TSMatrix](./src/Array/TSMatrix.js)\n    * [x] [algorithms](./src/Array/algorithms.js)\n\n* Binary Tree\n    * [x] [BinaryTree](./src/BinaryTree/BinaryTree.js)\n    * [x] [huffManCoding](./src/BinaryTree/huffManCoding.js)\n    * [x] [backtracking](./src/algorithms/backtracking.js)\n\n* Generalized List\n    * [x] [GList](./src/GeneralizedList/GList.js)\n\n* Graph\n    * [x] [AdjacencyListGraph](./src/Graph/AdjacencyListGraph.js)\n    * [x] [AdjacencyMatrixGraph](./src/Graph/AdjacencyMatrixGraph.js)\n    * [x] [AMLGraph](./src/Graph/AMLGraph.js)\n    * [x] [OLGraph](./src/Graph/OLGraph.js)\n\n* List\n    * [x] [LinkedList](./src/List/LinkedList.js)\n    * [x] [LinearList](./src/List/LinearList.js)\n    * [x] [DoubleLinkedList](./src/List/doubleLinkedList.js)\n    * [ ] [StaticLinkedList](./src/List/StaticLinkedList.js)\n    * [x] [LRUCache](./src/List/LRU.js)\n    * [x] [SkipList](./src/List/SkipList.js)\n\n* Queue\n    * [x] [Queue](./src/Queue/Queue.js)\n    * [x] [CycleQueue](./src/Queue/CycleQueue.js)\n    * [x] [PriorityQueue](./src/Queue/PriorityQueue.js)\n\n* Stack\n    * [x] [Stack](./src/Stack/index.js)\n\n* String\n    * [x] [HeapString](./src/String/HString.js)\n    * [x] [LString](./src/String/LString.js)\n    * [x] [SString](./src/String/SString.js)\n    * [x] [algorithms](./src/String/string-algorithms.js)\n\n* Search\n    * [x] [sequentialSearch](./src/Search/sequentialSearch.js)\n    * [x] [binarySearch](./src/Search/BinarySearch.js)\n    * [x] [fibonacciSearch](./src/Search/fibonacciSearch.js)\n    * [x] [SecondOptimalSearchTree](./src/Search/SOSTree.js)\n    * [x] [BinarySortedTree](./src/Search/BinarySortedTree.js)\n    * [x] [AVLTree](./src/Search/AVLTree.js)\n    * [x] [RedBlackTree](./src/Search/RedBlackTree.js)\n    * [x] [BTree](./src/Search/BTree.js)\n    * [x] [B+Tree](./src/Search/BPlusTree.js)\n    * [ ] [DigitalSearchTree / DictionaryTree](./src/Search/DigitalSearchTree.js)\n        * [x] DoubleLinkedTree\n        * [x] TrieTree\n        * [ ] PatriciaTree    todo\n    * [x] [SuffixTree](./src/Search/SuffixTree.js)\n    * [x] [HashTable](./src/Search/HashTable.js)\n    * [ ] Treap    todo\n    * [ ] SplayTree    todo\n    * [ ] BitMap    todo\n    * [x] [Bloom Filter](./src/Search/BloomFilter.js)\n    * [x] [ConsistentHash](./src/Search/ConsistentHash.js)\n\n* Heap\n    * [x] [Heap](./src/Heap/index.js)\n\n* Sort\n    * [x] [insertion sort](./src/Sort/insertion/index.js)\n        * [x] straightInsertSort\n        * [x] binaryInsertSort\n        * [x] path2InsertSort\n        * [x] staticLinkedListInsertSort\n        * [x] shellSort\n                \n    * [x] [exchange sort](./src/Sort/exchange/index.js)\n        * [x] bubbleSort\n        * [x] bubbleSort2\n        * [x] cockTailSort\n        * [x] cockTailSort2\n        * [x] quickSortRecursive\n        * [x] quickSortRecursive2\n        * [x] quickSortNonRecursive\n        * [x] quickSort\n        * [x] oddEvenSort\n                \n    * [x] [selection sort](./src/Sort/selection/index.js)\n        * [x] simpleSelectionSort\n        * [x] heapSort\n\n    * [x] [merge sort](./src/Sort/merging/index.js)\n        * [x] mergeSortRecursive\n        * [x] mergeSortNonRecursive\n        * [x] natureMergeSort\n        * [x] naturalMergeSort\n        * [x] linkedListNaturalMergeSort\n\n    * [x] [distribution sort](./src/Sort/distribution/index.js)\n        * [x] countSort\n        * [x] radixSort\n        * [x] bucketSort\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLukeLin%2Fjs-stl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLukeLin%2Fjs-stl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLukeLin%2Fjs-stl/lists"}