Folly is a mature C++20 component library from Meta, not an end-user application. It provides high-performance primitives for systems programming: containers (F14 hash maps, small_vector, sorted_vector_types), string and JSON handling, concurrency (MPMCQueue, AtomicHashMap, Synchronized), async I/O (EventBase, AsyncSocket, AsyncServerSocket, SSLContext, io_uring integration), multiple async programming models (futures, fibers, coroutines), logging, settings, memory allocation, debugging/symbolization, hashing, compression, and statistics. Consumers embed the library via CMake or Buck2 and link libfolly; there is no standalone service or primary CLI except tools, tests, and examples. Internally, the architecture is strongly modular and header-first: most components are templates in header files with optional .cpp implementations, heavily gated on platform feature macros. Data flows are data-structure and callback oriented: events from sockets/timers are dispatched through EventBase, async results move through Future/SemiFuture/coro::Task continuations, fibers perform cooperative context switches, and the logging framework routes formatted log messages through configurable handlers. External dependencies include Boost, OpenSSL, libevent, fmt, zstd/lz4/zlib, and googletest for testing; the repo includes a dependency builder (getdeps.py) and CI for Linux/macOS/Windows. Folly is actively maintained with frequent commits, broad CI, and extensive test/benchmark suites. Some parts are experimental (folly::result, channels), but core components are production-tested. Technical drift is low: it tracks modern C++, supports current compilers and kernels, and adapts to new CPU features (AVX-512, SVE2, io_uring). A small internal Python-based agent backtesting kit exists under folly/agents/, but it is peripheral; the dominant character of the repository is a high-performance C++ library.
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.
Crossbeam is a Rust library workspace providing a comprehensive set of concurrent programming primitives. It includes multi-producer multi-consumer (MPMC) channels with a select! macro for multiplexing, work-stealing deques (Chase-Lev), lock-free queues (bounded ArrayQueue and unbounded SegQueue), epoch-based memory reclamation for safe lock-free memory management, lock-free skip lists (SkipMap/SkipSet), and utilities like cache-padded values, exponential backoff, thread parking, sharded locks, and scoped threads. The library is designed for building high-performance concurrent systems and supports no_std environments. The architecture is modular: each major component lives in its own crate (crossbeam-channel, crossbeam-deque, crossbeam-epoch, crossbeam-queue, crossbeam-skiplist, crossbeam-utils) with a root umbrella crate that re-exports them. The implementations are based on academic literature (Chase-Lev, Michael-Scott, Vyukov queues) and include extensive testing with Miri, Loom model checking, and sanitizers. The codebase demonstrates advanced Rust patterns: unsafe but carefully encapsulated atomic operations, macro_rules-based DSLs, and trait-based abstraction for selectable channels. While primarily a library, the repository also contains benchmarks and examples that serve as both documentation and performance validation. The project is actively maintained with a clear MSRV policy and regular releases. Some components, like the epoch GC and work-stealing deque, are self-contained patterns that could be extracted for use in other concurrent Rust projects.
This repository (apple/swift-collections) is a pure Swift library providing high-performance, specialized data structures that extend the Swift standard library. It includes stable modules like DequeModule (ring-buffer deque), OrderedCollections (ordered set/dictionary), HeapModule (min-max heap), BitCollections (BitSet/BitArray), and HashTreeCollections (persistent hash-array mapped trie TreeSet/TreeDictionary). It also contains experimental preview modules (e.g., SortedCollections using B-trees, RopeModule for rope-based BigString, and BasicContainers with non-copyable collections). The code is heavily optimized with copy-on-write, unsafe pointer usage, and advanced Swift ownership features. It is designed for production use with source stability guarantees, while preview modules are explicitly unstable. The library is consumed as a Swift package and integrates seamlessly with standard collection protocols.
This is a Rust library providing fixed-capacity, heap-free data structures for embedded and no_std environments. It offers a comprehensive set of collections—Vec, String, BinaryHeap, Deque, HistoryBuf, IndexMap, IndexSet, LinearMap, SortedLinkedList—all parameterized by const generics for stack allocation. Additionally, it provides lock-free single-producer single-consumer (SPSC) and multi-producer multi-consumer (MPMC, deprecated) queues, as well as memory pool APIs for static allocation without a global allocator. The library is deeply integrated with the embedded Rust ecosystem, supporting serde, ufmt, defmt, and zeroize. Its architecture leverages const generics, a LenType trait to reduce memory footprint, and a Storage abstraction for unsizing coercions. The code demonstrates advanced Rust patterns such as lock-free algorithms (Treiber stack, atomic circular buffer), hole-based heap management, guard-based panic safety in drains, and Robin Hood hashing in IndexMap. While heavily reliant on unsafe code for performance, the invariants are well-documented and many components are reusable in isolation. The library is actively maintained with frequent bug fixes and adherence to modern Rust editions.
This is the ZJU ICICLES (浙江大学课程攻略共享计划) repository - a massive, student-maintained collection of course materials from Zhejiang University spanning 20+ academic disciplines. The repository contains lecture slides (PPT/PDF), lecture notes (Markdown/LaTeX/Typst), exam papers with solutions, homework assignments with code implementations, lab reports, textbook PDFs, and study guides. While classified as 'data_research' due to the presence of code artifacts in lab directories (compiler construction, data structures, operating systems, computer networks, digital logic), the dominant content is educational courseware - not a data pipeline or ML project. The repository serves as a knowledge base for ZJU students and demonstrates exceptional community curation. Key technical components include: a complete C compiler implementation (lex/yacc + codegen) in 编译原理/实验/, data structure implementations (red-black trees, graph algorithms, B-trees) in 数据结构基础/作业/dsHomework/, RISC-V OS lab code in 操作系统/ and 计算机组成与系统结构/, socket programming labs in 计算机网络/Lab/, and Verilog/FPGA code in 逻辑与计算机设计基础/ and 汇编与接口/. The repository is actively maintained with recent commits, but reproducibility of code artifacts is low due to course-specific dependencies, missing build configurations, and environment assumptions.
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.
Scalaz is a mature, purely functional programming library for Scala, providing a comprehensive set of type classes (Functor, Monad, Traverse, Foldable, etc.), monad transformers (OptionT, StateT, WriterT, etc.), effect types (IO, ST, RegionT), efficient immutable data structures (IList, Tree, FingerTree, Heap, Dequeue, etc.), and syntactic enrichment for all of the above. It is organized into modular sub-projects (core, effect, iteratee, scalacheck-binding) and supports cross-compilation to JVM, JavaScript, and Native platforms across Scala 2.13 and 3. The library is designed for production use and serves as both a practical toolkit and a reference implementation of category theory concepts in Scala. While primarily a library, it contains advanced research-level abstractions (free monads, cofree comonads, finger trees) that make it a valuable resource for functional programming education.
RoseDB is a lightweight, fast, and reliable key-value storage engine implemented in Go, based on the Bitcask storage model. It provides a simple embedded database library with operations like Put, Get, Delete, batch writes, TTL/expiry, key watching, and merge (compaction). The architecture uses a Write-Ahead Log (WAL) for persistence and an in-memory BTree index for fast lookups. The codebase is well-structured, with clean separation of concerns: the DB layer, index abstraction, record encoding, and utility functions. It demonstrates strong engineering practices including thread safety via sync.RWMutex, object pooling for performance, and a pluggable index interface. The repository includes comprehensive tests, benchmarks, and examples. It is actively maintained with recent commits and a responsive community.
STC (Smart Template Containers) is a mature, type-safe generic container and algorithm library for C99/C11. It is not an application or service; it is a library component that developers link into systems programs, embedded code, games, and simulations. The library provides macro-instantiated generic containers (vec, list, deque, stack, queue, priority queue, hash map, hash set, sorted map, sorted set, bitset), string types with small-string optimization (cstr, csview), multi-dimensional array views (cspan), smart pointers (box, arc, rc), a regular expression engine (cregex), a stackful coroutine framework, random number generators, and algorithms such as sorting, filtering, and binary search. The code implements the actual functionality; the README and docs describe usage, but the headers and src tree are the ground truth. The architecture is a hybrid header-only and compiled library. Templated containers are generated at compile time by a sophisticated macro trait system (via i_key, i_type, c_pro_key, etc.), while non-templated facilities like cstr, cregex, cspan, and random are partially implemented in src/ and linked as libstc. Public entry points are the headers under include/stc/; the build supports both Makefile and Meson, with examples and tests under examples/ and tests/. External dependencies are minimal, essentially the C11 standard library only, with compiler-specific pragmas and intrinsics for GCC, Clang, MSVC, and TCC. Data flows are primarily in-memory: containers own and manage elements, string operations transform UTF-8 text, regex compiles and executes NFA graph matching, and coroutines yield and resume across tasks. The codebase demonstrates strong engineering practice: a custom test harness (ctest.h), CI with sanitizers across three OSes, extensive API documentation, and a large examples corpus. The macro-based generic system is clever and powerful but carries the usual debugging and tooling complexity; deprecated aliases still exist from API churn. Overall this is a high-quality, reusable C library with several notably self-contained subsystems that could be lifted into other projects.
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.
columnar is a Rust library for columnar representation of Rust data types. It provides a `Columnar` trait and a derive macro that transform ordinary structs and enums into columnar storage: each field is stored in its own typed vector, and enums store tags and payloads separately. The crate supports recursive/tree-structured enums, all-unit enums, `no_std` environments, and optional serde serialization. It is a library, not an application, with no web or CLI surface; the primary entry points are the derive macro and the `Columnar`/`ColumnarVec` traits.
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.
Queuelib is a Python library providing persistent and in-memory queue data structures. It implements FIFO, LIFO, priority, and round-robin queues with disk-based storage options for durability. The library is dependency-free, using only the Python standard library, and is designed for scenarios requiring reliable queuing such as web crawlers. Architecture consists of modular components: base queue classes in queue.py, priority queue in pqueue.py, and round-robin queue in rrqueue.py. Disk-based queues manage data through chunk files (FIFO) or single files (LIFO) with careful bookkeeping to survive process restarts. The priority and round-robin queues use a factory pattern to decouple queue logic from storage implementation, enabling flexibility.
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.
memory_graph is a Python library for visualizing the structure of Python data as graphs, primarily used for debugging and teaching concepts like references, mutability, and shallow/deep copy. It takes any Python data (e.g., locals(), call stack frames) and generates a Graphviz-based graph (PDF, PNG, SVG) showing the hierarchical relationships and shared references. The library supports multiple node types (leaf, linear, key-value, table), configurable slicing to limit graph size, call stack visualization with IDE-specific stack frame filtering, and extensions for numpy, pandas, and PyTorch types. It is designed to be used interactively in debuggers (VS Code, PyCharm, etc.) or programmatically via functions like `show()`, `render()`, and `block()`. The codebase is well-structured with clean separation of concerns (node types, slicing logic, configuration, HTML table generation) and includes unit tests for core components.
The Functional Graph Library (FGL) is a Haskell library providing an inductive approach to graph data structures and algorithms. It offers multiple graph implementations (Tree-based and PatriciaTree-based) with varying performance characteristics, along with a comprehensive suite of graph algorithms including BFS, DFS, shortest path, max flow, min span tree, articulation points, biconnected components, dominators, and transitive closure. The library features a modular architecture with clear separation between core graph type classes, basic operations, and specific query algorithms. It supports both pure functional and monadic (imperative-style) graph manipulation, with utilities for automatic node labeling and graph construction. The library is actively maintained with recent updates supporting modern GHC versions and includes a thorough test suite with QuickCheck properties.
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.
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.
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.