awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

26 repositorios

Awesome GitHub RepositoriesDynamic Programming

Techniques for solving complex problems by breaking them into simpler subproblems.

Distinguishing note: No existing candidates for dynamic programming.

Explore 26 awesome GitHub repositories matching software engineering & architecture · Dynamic Programming. Refine with filters or upvote what's useful.

Awesome Dynamic Programming GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • azl397985856/leetcodeAvatar de azl397985856

    azl397985856/leetcode

    55,758Ver en GitHub↗

    This project is a curated educational resource and solution repository for algorithmic challenges, specifically focused on LeetCode problems. It serves as a technical reference for common data structures and algorithmic patterns, providing verified code implementations across multiple programming languages alongside detailed logic and complexity analysis. The repository functions as a comprehensive study guide for competitive programming and technical interview preparation. It includes specialized learning tools such as an Anki flashcard dataset for spaced repetition and a browser extension t

    The project calculates the number of valid sequences using dynamic programming with memoization.

    JavaScriptalgoalgorithmalgorithms
    Ver en GitHub↗55,758
  • kodecocodes/swift-algorithm-clubAvatar de kodecocodes

    kodecocodes/swift-algorithm-club

    29,099Ver en GitHub↗

    This project is a comprehensive collection of common computer science algorithms and data structures implemented in Swift. It serves as an educational reference and library for studying computational complexity, algorithmic logic, and data structure engineering through practical code examples. The repository provides a wide suite of data structure implementations, including various types of linked lists, heaps, hash tables, and an extensive range of hierarchical trees such as Red-Black, B-Tree, and Splay trees. It also covers diverse sorting and searching techniques, from basic bubble sort to

    Implements the minimum coin change problem using greedy and dynamic programming approaches.

    Swiftalgorithmsdata-structuresswift
    Ver en GitHub↗29,099
  • oi-wiki/oi-wikiAvatar de OI-wiki

    OI-wiki/OI-wiki

    26,176Ver en GitHub↗

    This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming. It serves as a centralized repository for algorithmic theory, data structures, and mathematical techniques, providing a structured reference for informatics and collegiate programming competitions. The project distinguishes itself by integrating educational content with a robust suite of automation utilities. It provides a complete workflow for competitive programming, including tools for automated test case generation, solution verification, and direct interaction with onlin

    Provides algorithms for counting partitions and arrangements in combinatorial problems.

    TypeScriptacm-icpcacm-icpc-handbookalgorithms
    Ver en GitHub↗26,176
  • nlp-love/ml-nlpAvatar de NLP-LOVE

    NLP-LOVE/ML-NLP

    17,725Ver en GitHub↗

    This project is a machine learning algorithm reference and implementation guide that provides theoretical foundations and code for supervised learning, deep learning, and natural language processing. It serves as a comprehensive toolkit for implementing predictive models and a technical reference for algorithm engineering. The project focuses on ensemble learning frameworks, including the construction of decision trees, random forests, and gradient boosting models. It also functions as a probabilistic graphical model library and an NLP algorithm reference, with specific implementations for se

    Implements the transformation of primal quadratic programming problems into dual forms to simplify computations and integrate kernel functions.

    Jupyter Notebookdeep-learningmachine-learningnlp
    Ver en GitHub↗17,725
  • mathfoundationrl/book-mathematical-foundation-of-reinforcement-learningAvatar de MathFoundationRL

    MathFoundationRL/Book-Mathematical-Foundation-of-Reinforcement-Learning

    16,543Ver en GitHub↗

    This project is an educational resource designed to teach the mathematical foundations and core algorithms of reinforcement learning. It provides a structured academic curriculum that combines textbooks, lecture materials, and practical code examples to guide learners through the principles of Markov decision processes and reinforcement learning theory. The repository distinguishes itself by integrating a grid-based simulation framework that allows users to test algorithms within custom environments. This environment supports the analysis of agent performance by rendering state values, polici

    Computes optimal value functions by iteratively solving the Bellman equation for policy evaluation.

    MATLABartificial-intelligencebookcourses
    Ver en GitHub↗16,543
  • safing/portmasterAvatar de safing

    safing/portmaster

    13,003Ver en GitHub↗

    Portmaster is a host-based network firewall and privacy tool that monitors and controls all system network traffic. It operates by intercepting data packets at the operating system level, allowing it to observe and manage every connection made by local software in real time. The software distinguishes itself through process-aware connection mapping, which correlates active network sockets with specific local applications to provide visibility into data transfers. It utilizes a user-space policy engine to enforce granular security rules, enabling users to restrict internet access, block specif

    Evaluates connection requests against defined security rules to determine whether to permit or block traffic based on application identity.

    Goapplication-firewalldnsfirewall
    Ver en GitHub↗13,003
  • crowdsecurity/crowdsecAvatar de crowdsecurity

    crowdsecurity/crowdsec

    12,574Ver en GitHub↗

    CrowdSec is a collaborative, distributed security engine designed for threat detection and infrastructure protection. It functions as an intrusion detection system that parses logs and network traffic to identify malicious patterns, utilizing a bucket-based threshold detection model to aggregate events and trigger alerts. The platform is built on a modular architecture that includes a centralized local API server for managing security signals and a relational database for persistent storage of remediation decisions. What distinguishes the project is its decoupled enforcement model, which offl

    Evaluates non-blocking security policies in the background to analyze traffic patterns without introducing latency.

    Goattacks-preventiondetectionids
    Ver en GitHub↗12,574
  • blankj/awesome-java-leetcodeAvatar de Blankj

    Blankj/awesome-java-leetcode

    8,698Ver en GitHub↗

    This project is a reference library of Java implementations for algorithmic coding challenges and data structure patterns. It serves as a study guide for technical interview preparation, providing a curated collection of LeetCode solutions organized by difficulty and algorithmic technique. The collection includes a mapping system that associates specific algorithm problems with the companies that frequently use them in technical interviews. The repository covers a wide range of capability areas, including tree algorithms for hierarchy construction and verification, string processing for sequ

    Implements combinatorial counting techniques using dynamic programming to find distinct ways to reach target states.

    Javaalgorithmalgorithmsdatastructure
    Ver en GitHub↗8,698
  • vowpalwabbit/vowpal_wabbitAvatar de VowpalWabbit

    VowpalWabbit/vowpal_wabbit

    8,683Ver en GitHub↗

    Vowpal Wabbit is an open-source machine learning system designed for online learning, where models update incrementally from streaming data without requiring full retraining. It provides a reduction-based learning framework that composes complex tasks from simpler algorithms, and includes a feature hashing trick that maps unbounded feature names into a fixed-size vector space to keep memory usage constant regardless of dataset size. The system supports distributed training across a cluster using an allreduce protocol for synchronized updates, and offers an active learning query strategy that s

    Estimates how candidate policies would perform using logged data without live deployment.

    C++active-learningc-plus-pluscontextual-bandits
    Ver en GitHub↗8,683
  • thealgorithms/c-sharpAvatar de TheAlgorithms

    TheAlgorithms/C-Sharp

    8,049Ver en GitHub↗

    This project is a collection of reference implementations for algorithms, mathematics, cryptography, compression, and machine learning written in C#. It serves as an educational library providing standard implementations of sorting, searching, and graph theory algorithms. The repository covers a wide range of computational domains, including combinatorial optimization for constraint satisfaction and scheduling, as well as symmetric and classical cryptographic ciphers. It also provides reference code for lossless data compression techniques and fundamental machine learning primitives such as r

    Provides algorithmic solutions for complex optimization problems using dynamic programming and greedy strategies.

    C#algorithmalgorithmsalgorithms-and-data-structures
    Ver en GitHub↗8,049
  • penrose/penroseAvatar de penrose

    penrose/penrose

    7,949Ver en GitHub↗

    Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi

    Sets up a problem with constraints and an objective, then runs the optimizer until convergence or a stopping condition is met.

    TypeScriptdiagramsdomain-specific-languagemathematics
    Ver en GitHub↗7,949
  • sharingsource/logicstack-leetcodeAvatar de SharingSource

    SharingSource/LogicStack-LeetCode

    7,495Ver en GitHub↗

    LogicStack-LeetCode is a curated repository of solved algorithm problems and data structure implementations, primarily drawn from the LeetCode platform. Its core identity is a structured collection of solutions designed to support technical interview preparation and competitive programming practice, with each solution accompanied by complexity analyses to help engineers understand performance trade-offs. The repository distinguishes itself through its breadth of coverage across fundamental algorithmic patterns and data structures. It includes implementations for array manipulation, string pro

    Applies dynamic programming on tree structures to compute optimal path sums and subtree properties.

    algorithminterview-practiceinterview-questions
    Ver en GitHub↗7,495
  • cvxpy/cvxpyAvatar de cvxpy

    cvxpy/cvxpy

    6,257Ver en GitHub↗

    CVXPY is a Python-embedded domain-specific language for modeling and solving convex optimization problems using natural mathematical syntax. It is built on a disciplined convex programming framework that automatically enforces convexity rules, ensuring that problems formulated by the user are valid for convex solvers. The project also functions as a multi-solver optimization interface, abstracting away backend details and dispatching problems to specialized solvers like ECOS, SCS, and Gurobi without manual configuration. Beyond standard convex optimization, CVXPY extends its reach to geometri

    Retrieves computed optimal variable values and Lagrange multipliers after solving optimization problems.

    C++
    Ver en GitHub↗6,257
  • mandliya/algorithms_and_data_structuresAvatar de mandliya

    mandliya/algorithms_and_data_structures

    6,145Ver en GitHub↗

    Este proyecto es una colección integral de librerías y toolkits de C++ que proporcionan implementaciones de referencia para estructuras de datos, algoritmos de grafos y lógica de bits. Sirve como una referencia de algoritmos en C++ que contiene más de 180 problemas de programación resueltos y un toolkit especializado para programación competitiva. El repositorio se distingue por sus extensas librerías de manipulación de bits de bajo nivel para comprobaciones de paridad, detección de endianness y lógica basada en XOR. También proporciona una amplia gama de soluciones de referencia para desafíos algorítmicos complejos que involucran backtracking, teoría de grafos y programación dinámica. La superficie de capacidades cubre organizadores de datos lineales y jerárquicos fundamentales, incluyendo listas enlazadas, pilas, colas y árboles de búsqueda binaria. Incluye un conjunto completo de algoritmos de grafos para búsqueda de caminos y árboles de expansión, varios métodos de ordenamiento y búsqueda, transformaciones de matrices y utilidades de procesamiento de cadenas. Además, cubre funciones computacionales matemáticas, compresión de datos sin pérdida y cifrados criptográficos básicos.

    Provides reference implementations of dynamic programming solvers using tabular and memoization techniques.

    C++algorithmbit-manipulationc
    Ver en GitHub↗6,145
  • robertmartin8/pyportfoliooptAvatar de robertmartin8

    robertmartin8/PyPortfolioOpt

    5,792Ver en GitHub↗

    PyPortfolioOpt is a comprehensive portfolio optimization library for Python that provides a full suite of methods for constructing and analyzing investment portfolios. At its core, the library implements mean-variance optimization, the Black-Litterman Bayesian model, and Hierarchical Risk Parity, giving users multiple approaches to asset allocation. It includes a complete covariance estimation toolkit with interchangeable estimators such as sample, exponential, shrinkage, and minimum-covariance-determinant methods, along with expected return estimation using historical mean, exponential weight

    Allows inheriting from base optimizer classes to implement custom optimization algorithms while reusing built-in utilities.

    Jupyter Notebook
    Ver en GitHub↗5,792
  • aasm/aasmAvatar de aasm

    aasm/aasm

    5,219Ver en GitHub↗

    Esta librería proporciona un framework para definir máquinas de estados finitos dentro de clases Ruby para gestionar ciclos de vida de objetos complejos. Funciona como un motor de flujo de trabajo declarativo, permitiendo a los desarrolladores modelar estados, eventos y transiciones de objetos a través de un lenguaje específico de dominio legible. Al integrarse directamente con las capas de persistencia de base de datos, el framework asegura que los cambios de estado se sincronicen con los registros de almacenamiento mientras mantiene la integridad de los datos mediante la gestión de transacciones y el bloqueo de filas. La librería se distingue por imponer reglas de negocio estrictas a través de guardas de transición condicionales y prevenir la modificación directa del estado, asegurando que todos los cambios en el ciclo de vida ocurran exclusivamente a través de eventos definidos. Soporta múltiples máquinas de estados independientes dentro de una sola clase al mapearlas a campos de base de datos distintos, proporcionando un control de ciclo de vida aislado. Además, genera automáticamente métodos de instancia dinámicos para consultar estados y disparar eventos, junto con ámbitos de consulta de base de datos que simplifican el filtrado de objetos según su estado actual. Más allá de la gestión central del ciclo de vida, el framework incluye utilidades para la localización de nombres de estado para soportar interfaces multilingües y proporciona hooks para ejecutar lógica personalizada antes o después de las transiciones. También ofrece matchers de prueba especializados para verificar configuraciones de máquinas de estados y lógica de transición dentro de suites de pruebas automatizadas. El proyecto incluye herramientas para compilar código fuente y configuraciones en documentación estructurada para ayudar con la referencia del sistema.

    Supports hosting multiple independent state machines within a single class by mapping them to distinct database fields.

    Ruby
    Ver en GitHub↗5,219
  • soapyigu/leetcode-swiftAvatar de soapyigu

    soapyigu/LeetCode-Swift

    4,958Ver en GitHub↗

    LeetCode-Swift is a collection of algorithm solutions written in Swift, designed for coding interview preparation. Each solution is implemented as a self-contained function with no external dependencies, making it easy to run and test. The repository organizes solutions by topic and company, and every file includes time and space complexity annotations, allowing quick evaluation of algorithmic efficiency. What sets this repository apart is its flat file structure and the way solutions are tagged with the companies that asked them in interviews, enabling targeted practice. All code resides in

    Implements bitmask DP to determine the first player's winning strategy in a number-picking game.

    Swiftalgorithmdata-structuresinterview
    Ver en GitHub↗4,958
  • cjlin1/libsvmAvatar de cjlin1

    cjlin1/libsvm

    4,707Ver en GitHub↗

    Este proyecto es una librería de máquinas de vectores de soporte (SVM) implementada en C, que proporciona un motor para tareas de clasificación y regresión. Funciona como una librería de kernel de machine learning y un validador de modelos estadísticos utilizado para categorizar puntos de datos y predecir valores numéricos continuos. La librería permite la definición de funciones de kernel personalizadas para calcular la similitud entre puntos de datos en datasets especializados. También incluye herramientas para modelado probabilístico, como la estimación de pertenencia a clases, densidad de datos y límites de distribución. Las capacidades cubren el entrenamiento de modelos para datasets multiclase, incluyendo la gestión de datos desequilibrados mediante funciones de pérdida ponderadas. El sistema proporciona flujos de trabajo para la selección de hiperparámetros y optimización de modelos utilizando contornos de precisión y validación cruzada estratificada. Se incluyen utilidades de preprocesamiento de datos para la validación de entradas y el escalado de atributos para normalizar las magnitudes de las características.

    Employs Sequential Minimal Optimization to efficiently solve the quadratic programming problem during model training.

    Java
    Ver en GitHub↗4,707
  • chanda-abdul/several-coding-patterns-for-solving-data-structures-and-algorithms-problems-during-interviewsAvatar de Chanda-Abdul

    Chanda-Abdul/Several-Coding-Patterns-for-Solving-Data-Structures-and-Algorithms-Problems-during-Interviews

    4,129Ver en GitHub↗

    This repository is a curated guide and implementation library of coding patterns used to solve data structures and algorithms problems. It serves as a technical interview study resource, providing a comprehensive set of strategies and computational logic examples for optimizing time and space complexity. The project focuses on standardized algorithmic patterns, including sliding windows, two pointers, and dynamic programming. It features specific implementations for a wide range of challenges, such as LeetCode problem solutions and specialized techniques like cyclic sort and bitwise XOR opera

    Implements dynamic programming strategies to solve complex optimization problems via memoization.

    algorithmscoding-interviewsdata-structures
    Ver en GitHub↗4,129
  • linyiqun/dataminingalgorithmAvatar de linyiqun

    linyiqun/DataMiningAlgorithm

    3,950Ver en GitHub↗

    This project is a data mining algorithm library and machine learning reference implementation. It provides a collection of tools for performing classification, clustering, and association rule mining, as well as a toolkit for nature-inspired optimization. The library includes specialized utilities for graph and sequence mining, enabling the extraction of frequent subgraphs and sequential patterns. It also features a dimensionality reduction utility that uses rough set theory to remove redundant attributes from datasets. The project covers a broad range of analytical capabilities, including n

    Finds optimal solutions for complex tasks using algorithmic solvers and nature-inspired techniques.

    Java
    Ver en GitHub↗3,950
Ant.12Siguiente
  1. Home
  2. Software Engineering & Architecture
  3. Dynamic Programming

Explorar subetiquetas

  • Acceleration TechniquesReduces computational complexity by applying techniques such as prefix sums, matrix exponentiation, or fast Fourier transforms. **Distinct from Dynamic Programming:** Focuses on algorithmic acceleration for DP, distinct from AI inference optimization.
  • Combinatorial Counting2 sub-etiquetasCalculates the number of ways to partition or arrange elements by breaking combinatorial tasks into smaller subproblems. **Distinct from Dynamic Programming:** Focuses on counting techniques within dynamic programming, distinct from general optimization.
  • Dual Optimization2 sub-etiquetasCalculates optimal values for constrained problems by solving the dual, allowing for high-dimensional constraints and unimodal search. **Distinct from Dynamic Programming:** Focuses on dual-based optimization for DP, distinct from UI layout patterns.
  • Grouping Decision OptimizationDetermines the most efficient sequence of partitioned tasks by evaluating weight and time constraints. **Distinct from Dynamic Programming:** Focuses on DP-based task grouping, distinct from general decision frameworks.
  • Multi-Constraint KnapsackAdapts knapsack models to scenarios involving multiple item counts, grouped selections, or hierarchical dependencies. **Distinct from Dynamic Programming:** Focuses on multi-dimensional knapsack DP, distinct from general constraint programming.
  • Optimization Problem Solvers2 sub-etiquetasAlgorithmic solutions for optimization problems using dynamic programming and greedy strategies. **Distinct from Dynamic Programming:** Specializes general dynamic programming techniques into concrete solvers for problems like coin change.
  • Policy Evaluation Methods2 sub-etiquetasTechniques for iteratively solving the Bellman equation to determine the value of a given policy. **Distinct from Dynamic Policy Evaluators:** Focuses on RL policy evaluation, distinct from security-based dynamic policy engines.
  • SequenceDynamic programming techniques specialized for optimal subsequences, partitions, or transformations of sequences. **Distinct from Dynamic Programming:** Specializes in linear sequence processing rather than general overlapping subproblems.
  • Sequence ProcessingDynamic programming algorithms designed for sequence-based challenges such as longest common subsequences. **Distinct from Dynamic Programming:** Focuses on sequence-specific DP patterns rather than general DP techniques.
  • State CompressionDynamic programming techniques using bitmasks to represent subsets as integers. **Distinct from Dynamic Programming:** Specializes general dynamic programming by focusing on bitmask-based state compression for combinatorial optimization.
  • State Machine1 sub-etiquetaDynamic programming patterns where transitions between states are governed by a state machine. **Distinct from Dynamic Programming:** Specifically uses state machine transitions for DP, unlike general recursive decomposition.
  • TreeDynamic programming applied to hierarchical tree structures to compute optimal values like path sums. **Distinct from Dynamic Programming:** Specifically processes tree topologies, unlike general dynamic programming on arrays or sequences.
  • Tree-Based OptimizationDynamic programming applied to tree structures to compute optimal paths and values. **Distinct from Dynamic Programming:** Specializes in tree-structured DP rather than general recursive decomposition.