{"id":16641991,"url":"https://github.com/make-github-pseudonymous-again/js-algorithms","last_synced_at":"2026-03-12T00:02:05.264Z","repository":{"id":13880971,"uuid":"16579054","full_name":"make-github-pseudonymous-again/js-algorithms","owner":"make-github-pseudonymous-again","description":":rocket: Algorithms for JavaScript","archived":false,"fork":false,"pushed_at":"2022-10-28T15:23:09.000Z","size":1892,"stargazers_count":40,"open_issues_count":26,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-15T05:57:54.115Z","etag":null,"topics":["agpl","algorithm","algorithms","computer-science","javascript","js","searching","sorting"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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":"2014-02-06T12:45:42.000Z","updated_at":"2025-06-13T04:54:31.000Z","dependencies_parsed_at":"2022-08-31T00:12:15.289Z","dependency_job_id":null,"html_url":"https://github.com/make-github-pseudonymous-again/js-algorithms","commit_stats":null,"previous_names":["aureooms/js-algorithms","aureooms/js-algo"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/make-github-pseudonymous-again/js-algorithms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-algorithms/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-algorithms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/make-github-pseudonymous-again%2Fjs-algorithms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30407771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T22:36:59.286Z","status":"ssl_error","status_checked_at":"2026-03-11T22:36:57.544Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","algorithm","algorithms","computer-science","javascript","js","searching","sorting"],"created_at":"2024-10-12T07:48:31.232Z","updated_at":"2026-03-12T00:02:05.223Z","avatar_url":"https://github.com/make-github-pseudonymous-again.png","language":"JavaScript","readme":":rocket: [Algorithms](https://github.com/make-github-pseudonymous-again/js-algorithms#readme)\n[![License](https://img.shields.io/github/license/make-github-pseudonymous-again/js-algorithms.svg?style=flat)](https://raw.githubusercontent.com/make-github-pseudonymous-again/js-algorithms/main/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/make-github-pseudonymous-again/js-algorithms.svg?style=flat)](https://github.com/make-github-pseudonymous-again/js-algorithms/issues)\n==\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://xkcd.com/399\"\u003e\n\u003cimg src=\"https://imgs.xkcd.com/comics/travelling_salesman_problem.png\" width=\"600\"\u003e\n\u003c/a\u003e\u003cbr/\u003e\n© \u003ca href=\"https://xkcd.com\"\u003exkcd.com\u003c/a\u003e\n\u003c/p\u003e\n\nPlayground for algorithms 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-data-structures](https://github.com/make-github-pseudonymous-again/js-data-structures).\n\n\n## :newspaper: Description\n\nThis project is just a playground for any algorithm that doesn't fit in any\nof those projects,\n\n### :flashlight: Searching\n  - [@aureooms/js-search](https://github.com/make-github-pseudonymous-again/js-search):\n    Searching algorithms for JavaScript\n\n### :waning_gibbous_moon: Merging\n\n  - [aureooms/js-merging](https://github.com/make-github-pseudonymous-again/js-merging): merging for JavaScript\n\n### :cake: Partitioning\n  - [@aureooms/js-partition](https://github.com/make-github-pseudonymous-again/js-partition):\n    Partitioning algorithms for JavaScript\n  - [@aureooms/js-splitting](https://github.com/make-github-pseudonymous-again/js-splitting):\n    Array splitting algorithms for JavaScript\n\n### :point_down: Selection\n  - [aureooms/js-selection](https://github.com/make-github-pseudonymous-again/js-selection): selection for JavaScript\n\n### :signal_strength: Sorting\n  - [@aureooms/js-sort](https://github.com/make-github-pseudonymous-again/js-sort):\n    Sorting algorithms for JavaScript\n\n#### :balance_scale: Comparison sorting\n\n  - :notebook_with_decorative_cover: [@comparison-sorting/specification](https://github.com/comparison-sorting/specification): Comparison sorting specification for JavaScript\n  - :leaves: [@comparison-sorting/heap-sort](https://github.com/comparison-sorting/heap-sort): Heapsort for JavaScript\n  - :rabbit2: [@comparison-sorting/quick-sort](https://github.com/comparison-sorting/quick-sort): Quicksort for JavaScript\n  - :rewind: [@comparison-sorting/insertion-sort](https://github.com/comparison-sorting/insertion-sort): Insertion sorting algorithms for JavaScript\n  - :person_fencing: [@comparison-sorting/merge-insertion-sort](https://github.com/comparison-sorting/merge-insertion-sort): Ford-Johnson algorithm for JavaScript\n  - :dragon: [@comparison-sorting/merge-sort](https://github.com/comparison-sorting/merge-sort): Mergesort for JavaScript\n  - :musical_score: [@comparison-sorting/odd-even-merge-sort](https://github.com/comparison-sorting/odd-even-merge-sort): Batcher's odd-even mergesort for JavaScript\n\n#### :zzz: Integer sorting\n\n  - :oden: [@integer-sorting/radix-sort](https://github.com/integer-sorting/radix-sort): Radix sorting algorithms for JavaScript\n  - [aureooms/js-countingsort](https://github.com/make-github-pseudonymous-again/js-countingsort): countingsort for JavaScript\n  - [aureooms/js-bucketsort](https://github.com/make-github-pseudonymous-again/js-bucketsort): bucketsort for JavaScript\n\n### :symbols: Strings\n  Nothing yet.\n\n### :hocho: Hashing\n  Nothing yet.\n\n### :triangular_ruler: Geometry\n  - [@aureooms/js-cg](https://github.com/make-github-pseudonymous-again/js-cg) : computational geometry code bricks for JavaScript\n\n### :globe_with_meridians: Graphs\n  - [@aureooms/js-gn](https://github.com/make-github-pseudonymous-again/js-gn) : graphs and networks code bricks for JavaScript\n  - :oden: [@graph-algorithm/topological-sorting](https://github.com/graph-algorithm/topological-sorting):\n    Topological sorting algorithms for Javascript\n  - :haircut_woman: [@graph-algorithm/minimum-cut](https://github.com/graph-algorithm/minimum-cut):\n    Minimum cut algorithms for JavaScript\n  - :blossom: [@graph-algorithm/maximum-matching](https://github.com/graph-algorithm/maximum-matching):\n    Maximum matching algorithms for JavaScript\n\n### :1234: Numbers\n\n  - :zzz: [@aureooms/js-integer](https://github.com/make-github-pseudonymous-again/js-integer) :\n    Integers for JavaScript (ℤ)\n  - :woman_farmer: [@aureooms/js-rational-field](https://github.com/make-github-pseudonymous-again/js-rational-field) : Rational field for JavaScript (ℚ)\n\n#### :symbols: Arithmetic\n  - :elephant: [@aureooms/js-integer-big-endian](https://github.com/make-github-pseudonymous-again/js-integer-big-endian): Arbitrary precision arithmetic for integers in big-endian order for JavaScript\n  - :pizza: [@aureooms/js-rational](https://github.com/make-github-pseudonymous-again/js-rational) : rational numbers code bricks for JavaScript\n  - :mermaid: [@aureooms/js-modular-arithmetic](https://github.com/make-github-pseudonymous-again/js-modular-arithmetic): Modular arithmetic for JavaScript.\n  - :globe_with_meridians: [@aureooms/js-complex](https://github.com/make-github-pseudonymous-again/js-complex) : complex numbers code bricks for JavaScript\n  - :wavy_dash: [@aureooms/js-polynomial](https://github.com/make-github-pseudonymous-again/js-polynomial) : sparse and dense polynomials code bricks for JavaScript\n\n#### :two: :three: :five: :seven: Number theory\n  - :butterfly: [@aureooms/js-fft](https://github.com/make-github-pseudonymous-again/js-fft) : Fast Fourier transform algorithms for JavaScript\n  - [@aureooms/js-prime](https://github.com/make-github-pseudonymous-again/js-prime) : Prime numbers for JavaScript\n\n#### :shell: Integer sequences\n  - [@aureooms/js-integer-sequences](https://github.com/make-github-pseudonymous-again/js-integer-sequences) : Integer sequences for JavaScript\n  - [@aureooms/js-fibonacci](https://github.com/make-github-pseudonymous-again/js-fibonacci) : Fibonacci numbers for JavaScript\n\n### :game_die: Randomness\n  - [@randomized/random](https://github.com/randomized-algorithm/random): Randomness algorithms for JavaScript\n  - [@entropy-source/pseudo-random](https://github.com/entropy-source/pseudo-random) : Pseudorandom number generators for JavaScript\n\n### :brain: Hard problems\n  - :satisfied: [@aureooms/js-sat](https://github.com/make-github-pseudonymous-again/js-sat) : Boolean formula satisfiability algorithms for Javascript\n  - :school_satchel: [@aureooms/js-knapsack](https://github.com/make-github-pseudonymous-again/js-knapsack) :\n    Knapsack problem algorithms for JavaScript\n  - :test_tube: [@aureooms/js-metaheuristics](https://github.com/make-github-pseudonymous-again/js-metaheuristics) :\n    Metaheuristic algorithms for JavaScript\n\n### :left_right_arrow: Sytems of equalities and inequalities\n  - [@aureooms/js-equation](https://github.com/make-github-pseudonymous-again/js-equation) : equations system code bricks for JavaScript\n\n### :broom: Combinatorics\n  - :exclamation: [@combinatorics/factorial](https://github.com/computational-combinatorics/factorial): Factorial function for JavaScript\n  - :seat: [@combinatorics/permutation](https://github.com/computational-combinatorics/permutation): Permutations library for JavaScript\n  - :zebra: [@combinatorics/n-permutations](https://github.com/computational-combinatorics/n-permutations): Set n-permutations for JavaScript\n  - :hippopotamus: [@combinatorics/n-combinations](https://github.com/computational-combinatorics/n-combinations): Set n-combinations for JavaScript\n  - :rhinoceros: [@combinatorics/n-multicombinations](https://github.com/computational-combinatorics/n-multicombinations): Set n-multicombinations for JavaScript\n  - :bento: [@combinatorics/set-partition](https://github.com/computational-combinatorics/set-partition): Set partition algorithms for Javascript\n\n\nThose packages aim to provide *code bricks* that are as generic as possible.\nSome examples are a Gauss-Jordan method that can work with any number model, a\nKaratsuba algorithm that can handle any input size, a Graham Scan algorithm\nthat works with clockwise or counter clockwise ordering, and a Monotone Chain\nalgorithm that can be used as a triangulation algorithm without any change.\n\n## :scroll: Reference\n\nA list of links and projects focusing on algorithm implementation.\n\n### :coffee: Projects implementing algorithms in JavaScript\n\n  - https://github.com/felipernb/algorithms.js\n  - https://github.com/mgechev/javascript-algorithms\n  - https://github.com/nzakas/computer-science-in-javascript\n  - https://github.com/benoitvallon/computer-science-in-javascript\n  - http://www.nayuki.io\n\n### :peacock: Projects implementing algorithms in other languages\n\n  - https://github.com/xtaci/algorithms (C++)\n  - https://github.com/fragglet/c-algorithms (C)\n  - https://github.com/nryoung/algorithms (Python)\n  - https://github.com/kanwei/algorithms (Ruby)\n  - https://github.com/phishman3579/java-algorithms-implementation (Java)\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\n### :link: Others\n\n  - http://stackoverflow.com/questions/26301/your-favourite-algorithm-and-the-lesson-it-taught-you\n  - http://cglab.ca/publications.html\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmake-github-pseudonymous-again%2Fjs-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmake-github-pseudonymous-again%2Fjs-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmake-github-pseudonymous-again%2Fjs-algorithms/lists"}