15 repositorios
Calculates the optimal selection of items with specific weights and values to maximize total value within capacity constraints.
Distinct from Algorithmic Problem Solving: Focuses on knapsack-specific DP, distinct from general algorithmic problem solving.
Explore 15 awesome GitHub repositories matching software engineering & architecture · Knapsack Problem Solving. Refine with filters or upvote what's useful.
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
Implements classic and advanced knapsack algorithms to solve resource allocation and optimization problems.
This project is an algorithm template library and coding interview study guide providing reusable code patterns for common data structures and algorithms. It serves as a reference for optimized strategies and a structured learning path to build proficiency in algorithmic problem solving and competitive programming. The library focuses on standardized implementations of key algorithmic patterns, including sliding windows, backtracking, dynamic programming, and binary search. It provides specific templates for managing binary search trees, searching rotated sorted arrays, and executing divide-a
Implements knapsack-specific dynamic programming to maximize value within capacity constraints.
This project is a comprehensive reference for algorithms and data structures used to solve complex computational problems in competitive programming. It serves as a technical resource for implementing advanced mathematical programming, computational geometry, and graph theory. The repository provides detailed implementation guides for diversifying algorithmic techniques, including top-down and bottom-up dynamic programming optimization, number theory, and linear algebra. It features specific guides for complex tasks such as constructing planar graphs, solving linear Diophantine equations, and
Provides algorithms for solving knapsack problems with various constraints and quantities.
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 solvers for the knapsack problem to determine the most valuable item combination within a weight limit.
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
Provides curated hash table solutions with difficulty ratings and complexity analyses for interview preparation.
Includes a benchmark example that solves the knapsack problem using genetic operators on set-based representations.
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.
Solves the 0-1 Knapsack problem using dynamic programming to maximize value within weight limits.
Algodeck is an open-source collection of flash cards designed for reviewing algorithms, data structures, and system design concepts, specifically curated for technical interview preparation. The project organizes knowledge into atomic question-and-answer pairs and incorporates spaced repetition scheduling to optimize long-term memory retention. The flash card catalog covers a broad range of computer science topics, including classic sorting algorithms like quicksort and mergesort, data structure operations for arrays, trees, heaps, tries, and graphs, as well as bit manipulation techniques for
Breaks a problem into overlapping subproblems and caches their results to avoid redundant computation.
CloudEvents is an open specification for describing event data in a common format across cloud platforms and services. It defines a standard structure and set of metadata attributes for events, enabling interoperability across different systems so producers and consumers can exchange events without custom translation. The specification provides a protocol-agnostic serialization framework that maps CloudEvents attributes and payloads to multiple serialization formats including JSON, Avro, and Protobuf, and defines transport bindings for mapping events onto protocols like HTTP, AMQP, Kafka, MQTT
Defines how to number events within partitions for gap, duplicate, and ordering detection.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Presents a puzzle for planning trips to move a perishable load while consuming some for fuel.
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 logic to determine if numerical sets can be partitioned into subsets meeting specific sum requirements.
MoreLINQ is a functional programming toolkit and extension library for .NET that augments LINQ to Objects with advanced operators for sequence manipulation and analysis. It provides a set of tools for declarative data transformation, leveraging lazy evaluation and composition to handle complex object sequences. The library is distinguished by its specialized capabilities for combinatorial generation, including the production of permutations, subsets, and Cartesian products. It also provides advanced sequence joining options, such as full, left, and right outer joins, and supports complex data
Splits sequences into multiple sets based on predicates or keys.
This project is a Go algorithm implementation library and a reference for data structures. It serves as a collection of solved coding interview problems and an algorithmic pattern collection, providing a reference of over 100 common challenges implemented in Go. The library focuses on specific problem-solving strategies, including sliding windows, two pointers, and dynamic programming. It provides coded examples of standard sorting, searching, and graph traversal techniques to facilitate the study of algorithmic patterns. The repository covers a broad range of capabilities, including array a
Determines if two distinct elements in a list add up to a target value using a hashmap for constant-time lookups.
Este repositorio sirve como una biblioteca integral para la resolución de problemas algorítmicos, proporcionando implementaciones de referencia para desafíos fundamentales de ciencias de la computación. Está diseñado como un recurso para la preparación de entrevistas técnicas y el entrenamiento en programación competitiva, centrándose en el dominio de patrones comunes y estructuras de datos requeridas para evaluaciones de codificación. El proyecto se distingue por ofrecer soluciones que enfatizan el uso idiomático de Python y la optimización del rendimiento. Cubre una amplia gama de técnicas algorítmicas, incluyendo selección codiciosa, programación dinámica, teoría de grafos y búsqueda binaria, mientras proporciona orientación sobre el análisis de la complejidad de ejecución para identificar la lógica más eficiente para tareas específicas. Más allá de los algoritmos centrales, la colección incluye implementaciones para estructuras de datos estándar como pilas, colas y representaciones de grafos de lista de adyacencia. También proporciona ejemplos de integración de servicios web externos y gestión de datos estructurados, asegurando una amplia cobertura de las habilidades técnicas necesarias tanto para entornos competitivos como para el desarrollo de software práctico.
Solves sequence-based optimization problems using dynamic programming tables.
Este repositorio sirve como un recurso integral para la programación competitiva y la preparación de entrevistas técnicas. Proporciona una colección estructurada de implementaciones de código fuente para estructuras de datos fundamentales y problemas algorítmicos clásicos, diseñados para ayudar a los desarrolladores a dominar conceptos básicos de ciencias de la computación y estrategias de codificación eficientes. Más allá de la resolución de problemas estándar, el proyecto se distingue por integrar patrones de diseño de software en sus implementaciones algorítmicas. Demuestra cómo aplicar patrones estructurales y de comportamiento —como decoradores, observadores y singletons— para mantener un código limpio y extensible. Además, el repositorio cubre patrones de programación concurrente, ofreciendo ejemplos de gestión de grupos de subprocesos y técnicas de sincronización para manejar tareas que consumen muchos recursos. La colección incluye una amplia gama de materiales educativos, desde análisis de complejidad y plantillas de resolución de problemas hasta implementaciones específicas para recorrido de grafos, programación dinámica y consultas de rango. Estos recursos están organizados para ayudar tanto en el aprendizaje de técnicas fundamentales como en la práctica para evaluaciones técnicas profesionales.
Determines optimal subset sums by splitting inputs and merging results to reduce complexity.