A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Cycle Detection in Directed Graphs

College Depth 229 in the knowledge graph I know this Set as goal
1topic build on this
1,352prerequisites beneath it
See this on the map →
Depth-First Search (DFS)Directed Graphs and Digraphs+1 moreDirected Acyclic Graphs (DAGs)
directed-graphs cycles algorithms

Core Idea

Cycle detection determines whether a directed graph contains any cycles. Algorithms like DFS-based backtracking identify cycles by marking vertices as visited, visiting, and done. Detecting cycles is essential for deadlock detection, dependency validation, and proving acyclicity.

Explainer

A cycle in a directed graph is a path that starts and ends at the same vertex, following edge directions the whole way. If your prerequisite on directed graphs introduced the idea that edges have a "one-way" quality, cycles are the case where a sequence of one-way steps somehow loops back to the origin — like a set of task dependencies where A requires B, B requires C, and C requires A. Such a cycle makes the dependency impossible to satisfy.

The standard algorithm for detecting cycles is a depth-first search (DFS) augmented with three vertex states, often called white, gray, and black (or unvisited, visiting, and done). When DFS begins exploring from a vertex, that vertex turns gray — it is "on the current path." When all its descendants have been fully explored, it turns black. The key insight: if DFS ever encounters a gray vertex through a forward edge, it has found a back edge, meaning the current path leads back to a vertex already on the current recursion stack. That is a cycle.

Why does the three-color distinction matter? A black vertex has already been fully processed — following an edge to it does not create a cycle, because that vertex's subtree contained no cycle and the black vertex itself has already been resolved. Only gray vertices signal a cycle, because gray means "ancestor in the current DFS path." Two colors (visited/unvisited) would confuse finished subtrees with active ancestors. The three-color scheme solves this precisely.

Real applications anchor this idea. Dependency resolution — package managers, build systems, task schedulers — must verify that their dependency graphs are acyclic before attempting to order tasks. Deadlock detection in operating systems reduces to finding cycles in a resource-allocation graph. Topological sort (which you'll study in directed acyclic graphs) is only valid when the graph has no cycles; cycle detection is the prerequisite check. Mastering this algorithm gives you both a practical tool and a concrete model for how directed graph structure constrains what computations are possible.

The DFS cycle-detection algorithm runs in O(V + E) time — linear in the size of the graph — because each vertex and edge is visited at most once. That efficiency makes it practical for real dependency graphs with thousands of nodes. As you move toward strongly connected components, you will see how cycle structure at a finer scale organizes the entire graph into a meaningful hierarchy.

Practice Questions 5 questions

Prerequisite Chain

Understanding ZeroThe Number ZeroCounting to FiveCounting to 10One-to-One CorrespondenceCounting a Set of Objects Up to 20Cardinality: The Last Number CountedMatching Numerals to QuantitiesSubitizing Small QuantitiesAddition Within 10Making 10 as an Addition StrategyAddition Within 20Doubles and Near DoublesDoubles Facts Within 10Near Doubles Facts Within 20Mental Math Strategies for AdditionMental Math: Adding and Subtracting TensAddition Within 100Repeated Addition as MultiplicationMultiplication as Equal GroupsMultiplication: ArraysBasic Multiplication Facts (0s, 1s, 2s, 5s, 10s)Multiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Multiplication and Division Fact FamiliesRelationship Between Multiplication and DivisionDivision Facts as Inverse of MultiplicationRemainders and Quotients in DivisionDivision Word ProblemsMulti-Step Word ProblemsSolving Multi-Step Word ProblemsMultiplication Word ProblemsDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueIntegers and the Number LineComparing and Ordering IntegersAbsolute ValueAdding IntegersSubtracting IntegersMultiplying IntegersDividing IntegersUnit RatesProportionsPercent ConceptConverting Between Fractions, Decimals, and PercentsOperations with Rational NumbersTwo-Step EquationsSolving Multi-Step EquationsEquations with Variables on Both SidesAngle Pairs: Complementary, Supplementary, and VerticalParallel Lines and TransversalsCorresponding AnglesAlternate Interior AnglesTriangle Angle Sum TheoremExterior Angle TheoremTriangle Inequality TheoremSimilar Triangles: AA SimilaritySimilar Triangles: SSS and SAS SimilarityProportions in Similar TrianglesRight Triangle Trigonometry IntroductionSine, Cosine, and Tangent RatiosTrigonometric Ratios ReviewRadian MeasureConverting Between Degrees and RadiansThe Unit CircleGraphing Sine and CosineGraphing Tangent and Reciprocal Trigonometric FunctionsDerivatives of Trigonometric FunctionsAntiderivativesIterated Integrals and Fubini's TheoremDouble Integrals in Cartesian CoordinatesDouble Integrals in Polar CoordinatesDouble Integrals in Polar CoordinatesDouble Integrals: Definition and SetupIterated Integrals and Fubini's TheoremDouble Integrals over Rectangular RegionsDouble Integrals over General RegionsApplications of Double Integrals: Area, Mass, and MomentsTriple Integrals in Cartesian CoordinatesTriple Integrals in Cylindrical and Spherical CoordinatesChange of Variables and the Jacobian DeterminantApplications of Triple Integrals: Volume and MassVector Fields and Their RepresentationsLine Integrals of Vector FieldsWork and CirculationLine Integrals of Scalar and Vector FunctionsFundamental Theorem for Line IntegralsConservative Vector FieldsConservative Vector Fields and Potential FunctionsCurl and Divergence of Vector FieldsCurl and DivergenceDivergence TheoremElectric Flux and Divergence TheoremGauss's Law: Integral Form and MeaningSolving Problems with Gauss's LawConductors in Electrostatic EquilibriumCapacitance and CapacitorsDielectricsDielectric Constant and Relative PermittivityElectric Field Inside Dielectric MaterialsDielectric Materials and PolarizationDielectric Susceptibility and PermittivityEnergy Density in Electric FieldsElectric Current and Current DensityElectrical Resistance and ResistivityOhm's Law and Circuit ElementsElectromotive Force (EMF) and BatteriesKirchhoff's Circuit Laws: Voltage and CurrentDC Circuit Network Analysis MethodsTransient Response in RC CircuitsRC CircuitsLC and RLC CircuitsAC Circuits: FundamentalsImpedance and ReactanceAC Power and ResonanceElectromagnetic WavesPostulates of Special RelativityTime DilationLength ContractionLorentz TransformationRelativistic Velocity AdditionRelativistic Momentum and EnergyMass-Energy Equivalence and E=mc²Photons as Particles with Energy and MomentumPlanck-Einstein Relation: Energy and FrequencyPhotoelectric EffectThe Photon: Light as QuantaCompton ScatteringWave-Particle Dualityde Broglie WavelengthThe Schrödinger EquationState Vectors and WavefunctionsQuantum SuperpositionThe Measurement ProblemInterpretations of Quantum MechanicsPostulates of Quantum MechanicsObservables and Quantum OperatorsCommutators and Commutation RelationsQuantum Angular MomentumQuantum Mechanical Treatment of HydrogenSolving the Schrödinger Equation for Hydrogen AtomQuantum NumbersElectron ConfigurationPeriodic TrendsCovalent BondingElectronegativity and Bond PolarityIonic BondingLewis StructuresVSEPR Theory and Molecular GeometryMolecular Geometry and Electron Pair GeometryMolecular Polarity and Dipole MomentsIntermolecular ForcesStates of Matter and Phase Changes: Melting, Boiling, and SublimationGas Laws and the Ideal Gas EquationGas Stoichiometry and Volume-Volume CalculationsThermochemistry and EnthalpyHeat Capacity and CalorimetryEntropy and Molecular DisorderSpontaneity and ΔGEntropy and Gibbs Free EnergyChemical EquilibriumAcid-Base ChemistryWeak Acid IonizationWeak Base IonizationAcid and Base Strength: Ka, Kb, and IonizationLeaving Groups and NucleofugalitySN2 Substitution ReactionsSN1 Substitution ReactionsE1 Elimination ReactionsAlcohols and Ethers: Structure, Properties, and NomenclatureReactions of AlcoholsAldehydes and Ketones: Structure and ReactivityOxidation Reactions in Organic ChemistryOxidation of Alcohols to Aldehydes and KetonesAldehyde and Ketone Structure and NomenclatureNucleophilic Addition to Aldehydes and KetonesCarboxylic Acids and Their DerivativesIUPAC Nomenclature of Carbonyls and Carboxylic AcidsIUPAC Nomenclature of AlkenesElectrophilic Addition to AlkenesAromaticity and BenzeneElectrophilic Aromatic Substitution (EAS)Nucleophilic Aromatic Substitution (SNAr)Nucleophilic Acyl SubstitutionAmines: Structure, Basicity, and ReactionsAmine Reactivity: Nucleophilicity and BasicityAmino Acid Structure and PropertiesPeptide Bonds and Polypeptide FormationProtein Primary StructureProtein Secondary StructureProtein Tertiary StructureEnzyme Structure and FunctionTranscription: DNA to RNARNA Types and StructureRNA Structure and Intramolecular Base PairingRNA Processing and SplicingTranslation: RNA to ProteinRibosomes: Protein Synthesis MachinesTranslation: Initiation and ElongationPost-Translational ModificationsProteasomal Degradation and Ubiquitin-Mediated MarkingCell Cycle Regulation and CheckpointsCell Cycle Checkpoints: Ensuring Genome IntegrityCell Cycle Checkpoints and Cancer PreventionMitotic Spindle Checkpoint and Chromosome SegregationKinetochore Structure and FunctionMitochondria: Structure and FunctionCellular Respiration OverviewBacterial Metabolism OverviewAntibiotic Resistance MechanismsInfectious Disease EpidemiologyFoundations of EpidemiologyMeasuring Disease Frequency: Incidence and PrevalenceEpidemiologic Study DesignsConfounding: Definition, Identification, and Causal CriteriaDirected Acyclic Graphs for Causal ModelingTopological Sorting and OrderingCycle Detection in Directed Graphs

Longest path: 230 steps · 1352 total prerequisite topics

Prerequisites (3)

Leads To (1)