Skip to content
CoreSource checked

Bron-Kerbosch Algorithm

Bron-Kerbosch Algorithm extracts structure such as components, tours, rankings, or closures from a graph.

Quick Facts

Compact metadata for implementation and discovery.

Category
Graph Traversal
Difficulty
Intermediate
Family
Graph Algorithm
Tier
Core
Status
Verified
Review
Source Checked
Sources
3
Formulas
0
Relationships
3
Code example
Ready
Visualization
Ready

Overview

Bron-Kerbosch Algorithm is a graph algorithm that extracts graph structure such as components, rankings, closures, flows, or matchings. It helps expose graph structure that is hard to see from local edges alone.

Core Concepts

graph structurefrontier or residual stateconnectivityvisited stateedge traversal

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(V + E)

Average

O(V + E)

Worst

O(V + E)

Space

O(V)

When to Use

  • Use Bron-Kerbosch Algorithm when the graph question matches its traversal, ranking, flow, or matching model.
  • Use it when exact graph structure is more valuable than an approximate summary.

When Not to Use

  • Avoid when graph direction, weights, or capacities do not match the method.
  • Avoid when approximate graph summaries are enough and exact traversal is too expensive.

What It Does

  • Explores graph relationships
  • Maintains frontier, component, or residual state
  • Returns structural information about the graph

Use Cases

  • Network analysis
  • Dependency analysis
  • Graph optimization

Inputs

  • Graph
  • Start nodes or selected subgraph
  • Weights or capacities if needed

Outputs

  • Visited order
  • Graph structure
  • Flow, component, ranking, or matching result

Pseudocode

  1. 1.Initialize graph state, scores, components, or residual capacity
  2. 2.Visit or update eligible nodes and edges
  3. 3.Apply the method's traversal, ranking, matching, or flow rule
  4. 4.Repeat until no useful updates remain
  5. 5.Return the graph structure or score result

Canonical Example

Input
graph = small directed graph
Output
visited order, component, ranking, flow, or matching result
Explanation
Bron-Kerbosch Algorithm updates graph state until the requested structural result is available.

Implementation Notes

  • Represent edge direction, weights, and capacities explicitly.
  • Keep traversal state local so repeated runs do not leak state.

Common Pitfalls

  • Treating directed and undirected edges the same changes the result.
  • Not resetting visited, residual, or component state corrupts later traversals.

Interactive Mechanism Walkthrough

Graph Frontier & Edge Relaxation

Show graph nodes and edges changing color as the traversal, ranking, or flow state evolves.

Bron-Kerbosch Algorithm mechanism walkthrough step 1 of 5suvwxt
Step 1 of 5: Initialize graph state, scores, components, or residual capacity
graph

Notes

Bron-Kerbosch Algorithm operates in O(V + E) time and O(V) space within the Graph Algorithm family. Often compared with Breadth-First Search and Depth-First Search.

Sources (3)

What each reference supports for this entry.

Introduction to Algorithms (CLRS)

Book

Textbook support for Bron-Kerbosch Algorithm's standard algorithm design, invariants, and complexity analysis.

Open source

The Algorithm Design Manual

Book

Algorithm catalog support for Bron-Kerbosch Algorithm's problem context, known alternatives, and practical selection tradeoffs.

Open source

Bron-Kerbosch Cliques

Paper

Original Algorithm 457 reference for recursive enumeration of all cliques in an undirected graph.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Conceptual neighborBreadth-First Search

Bron-Kerbosch Algorithm and Breadth-First Search address nearby graph traversal problems but make different implementation tradeoffs.

Tags

Graph