15 repositorios
Data structures where nodes point to parents in a non-circular chain.
Explore 15 awesome GitHub repositories matching programming languages & runtimes · Directed Acyclic Graphs. Refine with filters or upvote what's useful.
Git is a distributed version control system and command-line tool designed for tracking changes in source code and coordinating collaborative software development. It functions as a content-addressable storage platform where project data is maintained as immutable objects indexed by cryptographic hashes, ensuring data integrity and efficient deduplication. The system organizes project history as a directed acyclic graph, where each commit serves as a snapshot linked to its parent to create a verifiable timeline of modifications. The architecture distinguishes itself through an index-based sta
Organizes commit snapshots into a directed acyclic graph to maintain a verifiable, non-circular chain of project evolution.
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
Models relational problems as directed acyclic graphs to solve them via path-finding algorithms.
Skill-map is a static site generator designed to document and visualize engineering competency frameworks. It provides a structured system for defining technical skills, learning milestones, and career progression paths, allowing organizations to map professional growth across specialized domains and technology stacks. The project utilizes a dependency-graph data model to represent the logical progression of technical mastery, which is defined through human-readable configuration files. This approach enables teams to audit collective technical capabilities, identify knowledge gaps, and provid
Structures technical skills and milestones as directed acyclic graphs to represent logical progression and prerequisites.
Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the construction and wiring of object graphs by generating static source code during the build process, which eliminates the need for reflection or runtime bytecode generation. The framework distinguishes itself by performing strict validation of the entire dependency structure before the application runs, ensuring that all required bindings are satisfied and identifying circular references early. It manages object lifecycles through scoped containers and supports lazy resolution, allowing
Organizes object dependencies into a structured hierarchy to ensure all required components are instantiated in the correct order.
Kubo is a peer-to-peer implementation of the InterPlanetary File System (IPFS) designed for decentralized data storage and content delivery. It uses content-addressing, directed acyclic graphs, and distributed hash tables to identify, distribute, and retrieve data across a network without relying on central servers. The project differentiates itself by providing a virtual filesystem via FUSE, which maps decentralized network namespaces to local operating system directories for direct file access. It also includes integrated HTTP gateways that translate peer-to-peer content into standard web t
Organizes related blocks of data into a hierarchical structure to represent files and directories.
Amass is an attack surface management tool designed to identify, map, and inventory an organization's internet-facing digital assets. It functions as a security asset discovery engine that systematically expands an organization's known infrastructure footprint through recursive domain name resolution and the collection of intelligence from diverse public data sources. The platform distinguishes itself by utilizing a graph-based modeling approach to organize discovered resources. By maintaining a persistent graph database, it tracks the relationships between infrastructure components and norma
Organizes discovered infrastructure into a connected graph of nodes and edges to map complex resource relationships.
Spoon-Knife is a sandbox repository designed as a training tool for developers to learn the mechanics of distributed version control. It provides a dedicated environment for practicing the fundamental workflows of collaborative software development, including branching, committing, and merging code. The project serves as a tutorial for mastering the lifecycle of open source contributions. Users can practice creating personal forks of the repository to experiment with changes in an isolated workspace, as well as submitting pull requests to propose modifications for review. This structure allow
Uses a directed acyclic graph to model the evolution of project commits.
Hello Git is an educational platform designed to teach the fundamentals of version control and collaborative software development. It provides a structured curriculum that guides users through the core concepts of tracking code changes, managing project history, and implementing effective branching strategies. The project distinguishes itself by offering a comprehensive set of learning materials, including video lessons and guides, specifically tailored to help beginners master command-line operations. It covers the practical application of distributed version control, focusing on how to sync
Tracks project history using directed acyclic graphs to manage commits and branching.
This project is a comprehensive library of reference implementations for fundamental data structures and algorithms, designed to support technical interview preparation and software engineering assessments. It provides a structured collection of computational techniques for solving complex problems involving arrays, strings, graphs, trees, and mathematical analysis. The library distinguishes itself by offering specialized implementations for advanced topics, including concurrent programming patterns and geometric algorithms. It features thread-safe primitives for managing shared state and tas
Represents relationships and spatial constraints as nodes and edges to enable pathfinding, connectivity analysis, and flow optimization.
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 an implementation to determine the smallest number of paths to cover every vertex in a directed acyclic graph.
Este proyecto es un recurso educativo integral y guía para aprender el sistema de control de versiones Git. Sirve como fuente de documentación técnica para un libro de texto que explica los fundamentos, flujos de trabajo avanzados y arquitectura interna de Git. El proyecto está estructurado como un libro electrónico multiformato, con archivos fuente diseñados para ser compilados en varios formatos de publicación digital, incluyendo HTML, PDF, EPUB y Mobi. Utiliza un pipeline de construcción dedicado para generar y validar estos documentos. El contenido cubre una amplia gama de capacidades de control de versiones, incluyendo manipulación de historial, administración de repositorios e integración de sistemas. Proporciona instrucciones guiadas sobre la gestión de flujos de trabajo—como branching, merging y rebasing—y analiza la mecánica interna del sistema de archivos direccionable por contenido y el versionado basado en snapshots.
Describes how commit history is modeled as a directed acyclic graph of snapshots.
Este proyecto es una implementación nativa del sistema de control de versiones Git para aplicaciones Go. Proporciona una API programable y un conjunto de herramientas de bajo nivel que permite a los desarrolladores gestionar repositorios, manipular grafos de objetos y realizar operaciones de control de versiones sin requerir binarios del sistema externos o bindings de C. La librería se distingue por sus capas flexibles de almacenamiento y red, con un sistema de archivos virtual que permite la gestión de repositorios en memoria para evitar la E/S de disco. Soporta transportes de red conectables y backends de almacenamiento basados en interfaces, permitiendo implementaciones personalizadas y propietarias de cómo se persisten e intercambian los objetos de datos y las referencias. La superficie de capacidades cubre la gestión de repositorios de alto nivel —incluyendo clonación, commit, push y pull— junto con un análisis detallado de historial y atribución. También incluye características de seguridad para la firma de commits y la verificación de firmas criptográficas, así como utilidades para la gestión de submódulos y la búsqueda de contenido en repositorios.
Utilizes directed acyclic graphs to traverse commit and tree hierarchies and resolve project history.
Component es una herramienta de construcción frontend y gestor de paquetes diseñado para el desarrollo de aplicaciones web modulares. Funciona como un orquestador de pipeline de activos y resolvedor de dependencias de módulos, obteniendo y organizando paquetes de código locales o remotos de acuerdo con reglas de versionado específicas. El sistema proporciona un entorno de desarrollo que soporta la vinculación de módulos locales mediante enlaces simbólicos (symlinks) para pruebas en tiempo real sin publicar en un registro. Incluye un pipeline de construcción programable para transformar scripts y estilos en activos de producción y un sistema de vigilancia de archivos basado en eventos para activar recompilaciones automáticas. El conjunto de herramientas cubre la gestión de dependencias frontend, la automatización de la construcción y la orquestación del pipeline de activos. Incluye utilidades para auditar estados de dependencias, validar configuraciones de proyectos y resolver restricciones de versión en toda la jerarquía del proyecto.
Provides auditing of the dependency tree to identify version conflicts and duplicate modules.
GitHub-Tutorial is an educational learning resource and tutorial designed to help users master fundamental version control concepts, branching strategies, and remote repository collaboration. It functions as a guide for interacting with version control systems through text commands in a local terminal environment, tracking code changes chronologically, and managing project histories. The project covers command line interface tooling, branch-based parallel isolation, and distributed graph-based versioning workflows. It also provides instructions for static website hosting and publishing, show
Tracks file changes chronologically across a network using graph structures to maintain complete histories.
Git Machete is a command-line tool designed to organize, visualize, and automate complex branch hierarchies within Git repositories. It models local branch relationships as a tree structure, allowing developers to manage parent-child dependencies and maintain a clear overview of feature development directly from the terminal. The tool distinguishes itself by using a keyboard-driven interface to provide a visual representation of branch states, enabling rapid navigation and interaction with repository history. It stores branch dependency metadata within local configuration files and automates
Models local branch relationships as a tree structure to enable traversal and synchronization of development workflows.