thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #algorithms
trekhleb/javascript-algorithms ★ 196862 31018 APPLICATION

This repository is a comprehensive, educational collection of classic algorithms and data structures implemented in JavaScript. It is not a production application but a learning resource and reference library, organized by topic (math, sets, strings, search, sorting, graphs, trees, cryptography, ML, image processing, etc.) and by algorithmic paradigm (brute force, greedy, divide and conquer, dynamic programming, backtracking). Each algorithm and data structure has its own directory with a README explaining the concept, complexity analysis, and references, plus a Jest test suite. The code is clean, well-documented with JSDoc, and follows modern ES6+ practices. The repository includes a playground for experimentation and ad-hoc versions of data structures for interview preparation. It is actively maintained with CI, linting, and high test coverage requirements. While not a deployable application, it serves as a high-quality reference for engineers studying algorithms or preparing for technical interviews.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
optimatika/ojAlgo ★ 505 222 APPLICATION

ojAlgo is a pure Java numerical computing library providing high-performance linear algebra (dense and sparse matrices, decompositions like LU, QR, SVD, Cholesky, eigenvalue), optimization (linear programming via simplex, convex QP via active-set/ADMM, integer programming with branch-and-cut), neural networks, statistical distributions, random processes, time series analysis, clustering, financial portfolio models, and special functions. It has zero external dependencies and is modularized via JPMS. The architecture is a classic library: users create matrix objects or optimization models, invoke solvers or decompositions, and retrieve results. Key entry points include `MatrixStore`, `ExpressionsBasedModel`, `ArtificialNeuralNetwork`, and various decomposition factories. The codebase is well-tested with extensive unit and regression tests, and demonstrates strong engineering practices such as interface-driven design, factory patterns, and careful numerical stability. While primarily a software library, it also contains data analysis and research-oriented components (clustering, financial series, random processes), making it a hybrid but dominantly an application library.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
EndlessCheng/codeforces-go ★ 8674 821 APPLICATION

EndlessCheng/codeforces-go is a comprehensive collection of competitive programming solutions and algorithm templates written in Go. The repository provides reusable implementations of data structures (e.g., segment trees, fenwick trees, treaps, suffix automata) and algorithms (e.g., Aho-Corasick, various math functions) in the copypasta directory. It also includes a test harness (main/testutil) for verifying solutions against sample inputs and outputs, along with code generators to automate test file creation. Each solution is typically a standalone Go program that reads from standard input and writes to standard output, following the typical format for online judge submissions. The repository is organized by problem source (LeetCode, Codeforces, AtCoder, etc.) and difficulty, making it a valuable reference for learning and practicing competitive programming.

RATING: 9.1/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
norvig/pytudes ★ 24409 2475 DATA_RESEARCH

This repository is a collection of educational Python programs and Jupyter notebooks by Peter Norvig, focused on algorithmic problem-solving, puzzle-solving, and data analysis. It is not a deployable application or a formal research pipeline, but rather a set of self-contained explorations that demonstrate a wide range of programming techniques: constraint propagation, recursive search, dynamic programming, Monte Carlo simulation, n-gram language models, and symbolic computation. The code is well-structured, clearly documented, and often includes inline tests and performance benchmarks. While each notebook or script is independent, many contain reusable utility functions and algorithmic patterns that could be extracted for other projects. The repository includes data files (word lists, n-gram counts, bike ride logs, Sudoku puzzles) that are used as inputs for the explorations. The primary value is educational: it teaches how to think algorithmically and write clean, efficient Python code.

RATING: 8.9/10 REPRO: 6.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
keon/algorithms ★ 25566 4705 APPLICATION

This repository is a comprehensive, educational library of data structures and algorithms implemented in Python 3. It is organized into subpackages by algorithmic category (sorting, searching, graph, dynamic programming, backtracking, bit manipulation, string, tree, math, matrix, compression, streaming, etc.), each containing self-contained modules with clear function signatures, docstrings, complexity analysis, and often multiple implementation variants. The library is installable via pip and intended for learning, reference, and reuse in competitive programming or software development. It is not an application or data pipeline; it has no web server, CLI entry point, or external runtime dependencies beyond the Python standard library. The architecture is a flat library with a shared `algorithms/common` module providing reusable data types (`TreeNode`, `ListNode`, `Graph`) and each subpackage re-exporting its public API through `__init__.py` files. The codebase demonstrates a mix of modern and legacy Python styles, with newer modules using type hints, dataclasses, and doctests, while older modules rely on bare comments and local node definitions. Despite some inconsistencies and minor bugs, the repository is a well-structured, actively maintained collection that serves as a valuable reference for algorithm implementations.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
dotnet/machinelearning ★ 9357 1956 APPLICATION

ML.NET is a cross-platform, open-source machine learning framework for .NET developers. It provides a comprehensive set of tools for building, training, and deploying custom machine learning models without requiring expertise in Python or R. The framework covers traditional ML algorithms (classification, regression, clustering, ranking, time series), deep learning via TensorFlow and ONNX integration, automated machine learning (AutoML) with hyperparameter sweeping and pipeline search, and generative AI (GenAI) support for large language models like LLaMA, Phi, and Mistral. It also includes a DataFrame API for data analysis and a code generator for producing prediction code. The architecture is modular, with core abstractions like IDataView, IEstimator, and ITransformer forming a composable pipeline pattern. The repository is actively maintained by Microsoft and has a large community.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 6 reusable components found
rust-ml/linfa ★ 4743 337 APPLICATION

Linfa is a comprehensive machine learning library for Rust, providing implementations of classical ML algorithms including supervised learning (regression, classification, SVM, naive Bayes, decision trees, ensemble methods) and unsupervised learning (clustering, dimensionality reduction, ICA). The library features a modular architecture with core traits defining standard ML interfaces (Fit, Predict, Transformer), a flexible Dataset abstraction for data handling, and algorithm-specific crates following consistent patterns. It emphasizes performance through optional BLAS backends and parallel processing, while maintaining usability via builder-pattern hyperparameter configuration and comprehensive example code.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
OI-wiki/OI-wiki ★ 26841 4693 APPLICATION

OI-Wiki is a comprehensive, open-source knowledge base for competitive programming (Olympiad in Informatics, ICPC). It is primarily a static documentation site built with MkDocs, featuring thousands of pages covering algorithms, data structures, mathematics, and programming language tools. The codebase includes thousands of standalone C++/Python/Java code examples, each accompanied by test input/output files, which serve as verified implementations for educational purposes. While not a running application, the repository contains a sophisticated build pipeline (pre-build scripts, post-build HTML processing, custom linting) and extensive CI/CD workflows for testing code correctness and documentation quality. The architecture is that of a content management system with heavy emphasis on reproducible, modular examples. Its primary value lies in the curated collection of reusable algorithm templates and the infrastructure ensuring they remain correct across platforms.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
krahets/hello-algo ★ 130573 15509 APPLICATION

This repository is a comprehensive, open-source textbook for data structures and algorithms, known as 'Hello Algo'. It provides implementations of over 200 classic algorithms across 12 programming languages (Python, Java, C++, Go, Rust, etc.) and multiple human languages (Chinese, English, Japanese, Russian). The code is organized into chapters covering complexity analysis, arrays, linked lists, stacks, queues, hashing, trees, heaps, graphs, sorting, searching, divide-and-conquer, backtracking, dynamic programming, and greedy algorithms. Each algorithm is presented as a self-contained, runnable example with driver code and inline comments explaining the logic. The repository is not a production application but a pedagogical reference, making it valuable for students, educators, and self-learners. While the code is well-structured and consistent across languages, its high duplication across languages and translations means it is not designed for production reuse. However, the utility modules for tree/linked list construction and printing are cleanly isolated and can be extracted for other projects.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
TheAlgorithms/Java ★ 66343 21278 APPLICATION

TheAlgorithms/Java is a comprehensive, community-maintained collection of over 600 algorithm and data structure implementations in Java, organized into topic-specific packages (e.g., maths, sorts, searches, dynamic programming, graph, ciphers, compression, machine learning, streaming). It is designed as an educational reference library, not a production application. The architecture follows a modular utility-class pattern: most algorithms are implemented as final classes with private constructors and static methods, and many implement shared interfaces such as SortAlgorithm and SearchAlgorithm for polymorphic usage. The codebase includes extensive JUnit 5 test coverage with parameterized tests, and many classes reference Wikipedia or academic sources. While the overall quality is high with many reusable components, there are some inconsistencies such as duplicate implementations, leftover main methods, and occasional use of raw types or legacy APIs. The repository is actively maintained with CI workflows, dependabot, and a structured contribution process.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
51bitquant/binance_grid_trader ★ 980 299 APPLICATION

Binance Grid Trader is a cryptocurrency trading bot that implements grid trading strategies for Binance Spot and Futures markets. The application features a modular architecture with separate layers for exchange gateways, event processing, strategy management, and user interface. It provides both a graphical interface built with PyQt5 and script-based execution modes for running trading strategies without UI. The system connects to Binance via REST and WebSocket APIs to receive market data and execute trades based on configurable grid strategies.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
humanwhocodes/computer-science-in-javascript ★ 9109 1176 APPLICATION

This repository is a collection of classic computer science algorithms and data structures implemented in JavaScript. Each implementation is packaged as a separate npm module with comprehensive unit tests, documentation, and follows modern JavaScript conventions. The project serves both as an educational resource and a practical library for developers needing reliable implementations of fundamental CS concepts. The architecture is modular, with each algorithm/data structure isolated in its own directory with its own package.json, allowing for independent use and versioning.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
TheAlgorithms/Python ★ 225178 51147 APPLICATION

This repository is a massive, community-driven collection of algorithm and data structure implementations in Python, explicitly designed for education and reference. It contains over 1,700 files organized into topical directories such as maths, sorts, graphs, strings, ciphers, dynamic programming, machine learning, and Project Euler solutions. Each module is self-contained, typically with extensive docstrings, type hints, and doctests, making it easy to study or extract individual algorithms. The code is written for clarity and learning, not production performance, and many implementations include references to Wikipedia or academic sources. Despite its educational focus, the repository exhibits some technical drift. A handful of files still use Python 2 syntax (e.g., `except ValueError, EOFError:`), which will cause SyntaxError in modern Python. Several web-scraping scripts depend on the non-standard `httpx2` library and external APIs that may break. The project targets Python 3.15 (including free-threading), which is bleeding-edge and may cause compatibility issues with some tools. However, the majority of the codebase uses modern Python features (type hints, dataclasses, PEP 695 generics) and is actively maintained with CI workflows, pre-commit hooks, and regular contributions. This is not a production application or a data research pipeline; it is a reference library for learning and teaching algorithms. The sheer breadth and consistency of the implementations make it a valuable resource for students, educators, and developers looking for clear examples of classic algorithms. The most reusable components are the standalone data structures (e.g., kd-tree, suffix tree, Fenwick tree) and algorithm implementations (e.g., Dinic max flow, Huffman coding, federated averaging) that can be extracted with minimal modification.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
yangshun/tech-interview-handbook ★ 143082 16853 APPLICATION

This is a pnpm monorepo whose dominant application is apps/portal, a Next.js + tRPC + Prisma community platform for tech interview preparation. It delivers three interactive products: an anonymous salary/offer comparison tool with percentile analysis and currency conversion, a resume review system with PDF uploads, comments, stars and gamified badges, and a crowdsourced interview question bank with voting, full-text search and list curation. Authentication is NextAuth via GitHub, file uploads use Supabase storage, and all application logic is exposed through a tRPC router tree backed by PostgreSQL. apps/website is a Docusaurus static site that publishes the interview handbook content, blog posts and practice lists such as Grind 75; it is content-delivery rather than dynamic. The repo has some data/research flavour because it ships Prisma seed datasets (countries, states, companies, salary XLSX) and offer-analysis logic, but those are reference data and application features, not an analytical pipeline. The engineering follows T3 conventions: Zod-validated routers, React Hook Form, a custom UI kit and shared config packages. Strong reusable pieces include an accessible typeahead, a compound radio list, a currency exchange utility and an optimistic vote hook. Weaknesses are long and repetitive tRPC routers (especially the offers-profile update mutation), duplicated voting mutations across routers, inconsistent use of protected routers, hardcoded assumptions in seeds, and no visible automated test suite. The repository is actively maintained with recent commits and CI workflows, but it has medium technical drift: the portal pins older major versions of Next.js, tRPC and React Query, and it depends on a custom vite-plus toolchain. The Prisma schema has many 2022-era migrations and substantial complexity. It is best used as a reference architecture for building community-driven interview-prep features and as a source of isolated UI/utility patterns rather than as a drop-in application.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
KaHIP/KaHIP ★ 498 107 APPLICATION

KaHIP (Karlsruhe High Quality Partitioning) is a high-performance C++ library and command-line toolkit for graph partitioning, node ordering, and mapping. It implements multilevel partitioning with advanced refinement techniques including Fiduccia-Mattheyses local search, flow-based min-cut refinement, cycle improvements, and tabu search. The library provides a C API for integration into external applications, along with Python bindings and a Java JNI wrapper. The codebase includes both a sequential version and a distributed-memory parallel version (ParHIP) using MPI, enabling partitioning of large graphs on clusters. Core algorithms are well-structured with modular coarsening, initial partitioning, and uncoarsening/refinement phases, supporting multiple matching strategies (GPA, random, label propagation) and quality/speed trade-offs via preconfigured modes (Strong, Eco, Fast, Social). Despite research-grade complexity and some code duplication between serial and parallel variants, the library is actively maintained and widely used in scientific computing and graph analytics.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
loiane/javascript-datastructures-algorithms ★ 4871 1249 APPLICATION

This repository is a comprehensive educational resource that implements a wide range of data structures and algorithms in both JavaScript and TypeScript. It is organized by chapter, mirroring the book 'Learning JavaScript Data Structures and Algorithms' by Loiane Groner. The codebase covers fundamental data structures (arrays, stacks, queues, linked lists, sets, dictionaries, hash tables), trees (binary search trees, AVL trees, red-black trees, Fenwick trees, segment trees), heaps, tries, graphs, and classic algorithms (BFS, DFS, Dijkstra, Floyd-Warshall, Prim, Kruskal, heap sort, etc.). Each implementation is accompanied by Jest tests and many files include both .js and .ts versions. The code is well-structured, uses modern JavaScript/TypeScript features (private fields, generics, arrow functions), and includes JSDoc comments. While primarily educational, the implementations are clean and could serve as reference or be extracted for reuse in other projects. Known minor bugs exist in some hash table collision resolution implementations (e.g., get() always returns undefined in separate chaining, hash function returns NaN in linear probing).

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
labuladong/fucking-algorithm ★ 136024 23544 DATA_RESEARCH

This repository is a comprehensive collection of algorithm tutorials and solutions primarily based on LeetCode problems. It contains over 60 original articles covering various algorithm techniques and data structures, with solutions implemented in multiple programming languages including Java, Python, C++, JavaScript, and Go. The content is organized into thematic series covering dynamic programming, data structures, algorithm thinking patterns, and high-frequency interview questions. The repository serves as an educational resource for algorithm learning, providing detailed explanations of problem-solving frameworks and reusable code patterns. Each article typically includes problem descriptions, solution approaches with step-by-step reasoning, complete code implementations, complexity analysis, and links to related practice problems. The content emphasizes teaching algorithmic thinking patterns rather than just providing solutions. The codebase demonstrates solid educational value with well-structured explanations and reusable algorithm templates. However, as a documentation and education-focused project rather than a software application, it lacks traditional software engineering elements like dependency management, testing frameworks, or reproducible execution environments. The code snippets are designed for algorithm learning rather than production use.

RATING: 7.9/10 REPRO: 3.0/10 MAINT: active DRIFT: low
▸ 8 reusable components found
TheAlgorithms/Rust ★ 26077 2596 APPLICATION

TheAlgorithms/Rust is a large educational library of algorithm and data structure implementations in Rust, organized into over 20 modules covering sorting, searching, graph theory, dynamic programming, cryptography, machine learning, math, string processing, and more. The codebase is structured as a reusable Rust library crate with a flat module hierarchy, each module containing self-contained functions and types with extensive inline documentation and unit tests. It serves as a reference and learning resource rather than a production application, with many implementations based on textbook algorithms and well-known specifications (RFCs, NIST standards). The code demonstrates good engineering practices such as modular design, property-based testing with quickcheck, use of generics and traits for abstraction, and consistent test patterns. However, some modules show inconsistencies in naming and error-handling conventions, and the sheer variety of implementations means code quality varies. The repository is actively maintained with recent commits, automated CI/CD workflows, and dependency updates via Dependabot. While the implementations are pedagogical and not necessarily production-grade (e.g., simplified RSA, educational AES without side-channel resistance), they are functionally correct and well-documented, making this a valuable resource for learning algorithms in Rust.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
omonimus1/competitive-programming ★ 981 148 APPLICATION

This repository is a collection of competitive programming solutions and learning resources accumulated during interview preparation for a Microsoft SWE role. It contains implementations of algorithms and data structures from platforms like LeetCode, HackerRank, CodeChef, and others, organized by problem source and topic. The repository serves as both a personal record of solved problems and a reference for common coding interview patterns. The codebase consists of standalone solution files that implement specific algorithms to solve well-defined problems. Rather than a unified application, it's an educational repository where each file represents a self-contained solution to a particular coding challenge. The solutions demonstrate various techniques including two-pointer approaches, stack-based algorithms, in-place array modifications, and thread synchronization patterns. While the repository doesn't contain a single cohesive software system, it does include several reusable algorithmic patterns that could be extracted for use in other projects. Notable examples include the stack-based parentheses validation, two-pointer technique for sorted arrays, in-place array modification algorithms, and thread coordination mechanisms using Events and Semaphores. These components represent fundamental computer science concepts implemented with attention to correctness and efficiency.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
harry-the-nerd/interview-notes-questions ★ 221 54 APPLICATION

This repository is a documentation-only collection of technical interview questions and solutions, sourced from publicly shared candidate experiences at top tech companies (OpenAI, Anthropic, Databricks, etc.). It contains no executable code, build systems, or tests. Each markdown file presents a problem statement, requirements, follow-up questions, and reference solutions in Python or JavaScript. The content is well-structured, includes edge cases and discussion topics, and serves as a study resource for interview preparation. While not a software application, the solutions demonstrate solid algorithmic and system design patterns. The repository is actively maintained and has no technical drift due to its static nature.

RATING: 7.8/10 MAINT: active DRIFT: low
$ loading more...
$ submit: