Skip to content
Back to categories

Pathfinding

Algorithms that find routes through graphs or spaces.

Pathfinding algorithms choose paths between points while considering distance, cost, constraints, or estimates of future cost.

PathfindingO((V + E) log V)

Dijkstra's Algorithm

Finds shortest paths from one source in a graph with nonnegative edge weights.

IntermediateFoundationFormula23 links
Shortest PathWeighted GraphPriority QueueGraph
PathfindingO(E)

A* Search

Finds a low-cost path by combining path cost so far with a heuristic estimate to the goal.

IntermediateCoreFormula25 links
Shortest PathHeuristicGraphOptimization
PathfindingO(VE)

Bellman-Ford

Finds single-source shortest paths even when edges can have negative weights.

IntermediateCoreFormula6 links
Shortest PathWeighted GraphDynamic ProgrammingGraph
PathfindingO(V^3)

Floyd-Warshall

Finds shortest paths between every pair of nodes.

IntermediateCoreFormula4 links
Shortest PathAll PairsDynamic ProgrammingGraph
PathfindingO(E)

Greedy Best-First Search

Expands the node that appears closest to the goal by heuristic estimate.

BeginnerCoreFormula5 links
PathfindingHeuristic SearchGraphHeuristic
PathfindingO(E' log V')

Hierarchical Pathfinding

Speeds pathfinding by planning through coarse regions before refining locally.

AdvancedExtendedNo formula2 links
PathfindingHierarchical PlanningHeuristic Search
PathfindingO(VE log V)

Johnson's Algorithm

Finds all-pairs shortest paths in sparse graphs by reweighting edges.

AdvancedExtendedFormula7 links
Shortest PathAll PairsWeighted GraphGraph
PathfindingO(E)

Jump Point Search

Speeds up grid pathfinding by skipping over symmetric intermediate nodes.

AdvancedExtendedFormula3 links
PathfindingGrid SearchHeuristic SearchOptimization
PathfindingO(w h)

Lee Algorithm

Finds shortest paths on a grid by expanding wavefront distances.

BeginnerCoreFormula1 links
Shortest PathGrid SearchQueueClassic
PathfindingO(K V (E + V log V))

Yen's K Shortest Paths

Finds several shortest loopless paths between the same two nodes.

AdvancedExtendedFormula2 links
Shortest PathK Shortest PathsWeighted GraphGraph
PathfindingO(V + E)

Acyclic Shortest Path

Finds shortest paths in a weighted DAG by relaxing edges in topological order.

IntermediateCoreFormula2 links
Shortest PathDirected Acyclic GraphDynamic ProgrammingWeighted Graph
PathfindingO(G log G)

Flow Field Pathfinding

Guides many agents toward a goal by precomputing a direction field over a grid.

IntermediateCoreFormula3 links
PathfindingGrid SearchGraphSimulation
PathfindingO(E log V)

Theta*

Finds smoother grid paths by allowing line-of-sight shortcuts during A* search.

AdvancedSpecializedFormula4 links
PathfindingHeuristic SearchGrid SearchVisibility
PathfindingO(E log V) per repair in worst case

D* Lite

Repairs shortest paths efficiently when edge costs change during navigation.

AdvancedSpecializedFormula6 links
PathfindingHeuristic SearchPath ReplanningGraph
PathfindingO(E log V)

Bidirectional Dijkstra

Finds a shortest path by running Dijkstra search forward from the start and backward from the goal.

IntermediateCoreFormula4 links
PathfindingWeighted GraphShortest PathBidirectional Search
PathfindingO(V + E)

Fringe Search

Searches with A*-style costs while batching nodes by a moving cost threshold.

IntermediateExtendedFormula1 links
PathfindingHeuristic SearchGrid SearchReal Time
PathfindingO(b^d)

IDA*

Combines A* scoring with iterative deepening to search with lower memory use.

AdvancedCoreFormula4 links
PathfindingHeuristic SearchIterativeDepth First Search
PathfindingO(k log V)

Lifelong Planning A*

Reuses previous A* search work when graph costs change.

AdvancedExtendedFormula6 links
PathfindingPath ReplanningHeuristic SearchDynamic Programming
PathfindingO(k log V)

D* Search

Repairs paths for a moving agent as new obstacle or cost information appears.

AdvancedExtendedFormula3 links
PathfindingPath ReplanningHeuristic SearchRobotics
PathfindingO(log V)

Contraction Hierarchies

Speeds shortest-path queries by contracting less important nodes and adding shortcut edges.

AdvancedSpecializedFormula3 links
PathfindingShortest PathPreprocessingWeighted Graph
PathfindingO(E log V)

ALT Landmarks

Uses landmark distances and triangle inequalities to guide shortest-path search.

AdvancedExtendedFormula3 links
PathfindingHeuristic SearchShortest PathPreprocessing
PathfindingO(E log V)

Multi-Source Dijkstra

Finds shortest distances from the nearest of several source nodes in a nonnegative-weight graph.

IntermediateCoreFormula2 links
PathfindingWeighted GraphShortest PathPriority Queue
PathfindingO(E log V)

Anytime Repairing A*

Quickly finds a usable path and improves it as more time is available.

AdvancedSpecializedFormula2 links
PathfindingHeuristic SearchPath ReplanningReal Time
PathfindingO(n log n)

Rapidly-Exploring Random Tree

Builds a tree of random feasible motions that quickly explores open space.

AdvancedExtendedFormula2 links
PathfindingSamplingRoboticsNearest Neighbor
PathfindingO(E log V)

Weighted A*

Weighted A* finds routes through graphs, grids, or motion-planning spaces.

IntermediateCoreFormula2 links
PathfindingGraph
PathfindingO(E log V)

Lazy Theta*

Lazy Theta* guides route search with a heuristic score.

IntermediateCoreFormula3 links
PathfindingGraph
PathfindingO(E log V)

Anya Pathfinding

Anya Pathfinding finds routes through graphs, grids, or motion-planning spaces.

IntermediateSpecializedNo formula1 links
PathfindingGraph
PathfindingO(E log V)

Block A*

Block A* finds routes through graphs, grids, or motion-planning spaces.

IntermediateCoreNo formula2 links
PathfindingGraph
PathfindingO(E log V)

Subgoal Graph Pathfinding

Subgoal Graph Pathfinding finds routes through graphs, grids, or motion-planning spaces.

IntermediateExtendedNo formula2 links
PathfindingGraph
PathfindingO(E log V)

HPA*

HPA* finds routes through graphs, grids, or motion-planning spaces.

IntermediateCoreNo formula3 links
PathfindingGraph
PathfindingO(E log V)

Incremental Dijkstra

Incremental Dijkstra updates paths efficiently as graph costs change.

IntermediateCoreNo formula1 links
PathfindingGraph
PathfindingO(E log V)

Multi-Heuristic A*

Multi-Heuristic A* finds routes through graphs, grids, or motion-planning spaces.

IntermediateSpecializedNo formula2 links
PathfindingGraph
PathfindingO(E log V)

Real-Time Adaptive A*

Real-Time Adaptive A* finds routes through graphs, grids, or motion-planning spaces.

IntermediateSpecializedFormula3 links
PathfindingGraph
PathfindingO(E log V)

Probabilistic Roadmap

Probabilistic Roadmap samples feasible states and connects them into paths.

IntermediateCoreFormula1 links
PathfindingGraph
PathfindingO(n log n)

RRT*

RRT* addresses motion planning by rewiring a rapidly-exploring random tree to improve path cost over time.

IntermediateExtendedNo formula6 links
PathfindingGraphRandomness
PathfindingO((V + E) log V)

Visibility Graph Roadmap

Visibility Graph Roadmap handles shortest path among obstacles by connecting mutually visible obstacle vertices and searching the resulting graph.

IntermediateCoreNo formula5 links
PathfindingGraph
PathfindingO(V + E)

0-1 BFS

Finds shortest paths in graphs whose edge weights are only 0 or 1.

IntermediateCoreNo formula5 links
PathfindingGraph
PathfindingO(V + E + C)

Dial's Algorithm

Dial's Algorithm addresses shortest paths with small integer weights by using buckets instead of a heap for bounded nonnegative edge weights.

IntermediateExtendedNo formula5 links
PathfindingGraphPriority Queue
PathfindingO(n log n)

Eppstein K Shortest Paths

Eppstein K Shortest Paths addresses k shortest paths by building a sidetrack structure that enumerates paths after one shortest-path tree.

AdvancedSpecializedNo formula4 links
PathfindingGraph
PathfindingO(n log n)

LRTA*

LRTA* addresses online pathfinding by updating heuristic estimates while acting one step at a time.

IntermediateExtendedNo formula2 links
PathfindingGraph
PathfindingO(n)

Conflict-Based Search

Conflict-Based Search addresses multi-agent pathfinding by splitting conflicts into constraints and solving constrained paths for each agent.

AdvancedSpecializedNo formula2 links
PathfindingGraphConstraint Solving
PathfindingO(n log n)

Safe Interval Path Planning

Safe Interval Path Planning addresses dynamic obstacle pathfinding by searching intervals when each state is safely traversable.

AdvancedSpecializedNo formula2 links
PathfindingGraph
PathfindingO(n log n)

Lazy PRM

Lazy PRM addresses motion planning by building a probabilistic roadmap while deferring expensive collision checks.

IntermediateExtendedNo formula6 links
PathfindingGraphRandomness
PathfindingO(n log n)

RRT-Connect

RRT-Connect addresses motion planning by growing two random trees toward each other until they connect.

IntermediateExtendedNo formula5 links
PathfindingGraphRandomness
PathfindingO(n)

Anytime D*

Anytime D* addresses dynamic pathfinding by refining a repairable path while gradually tightening the heuristic bound.

AdvancedSpecializedNo formula1 links
PathfindingGraph
PathfindingO(n)

Lifelong Dijkstra

Lifelong Dijkstra addresses dynamic shortest paths by reusing previous shortest-path information after edge cost changes.

IntermediateExtendedNo formula1 links
PathfindingGraph
PathfindingO(n)

Multi-Goal A*

Multi-Goal A* addresses multi-target pathfinding by searching toward the best among several goals using admissible goal estimates.

IntermediateExtendedNo formula1 links
PathfindingGraph
PathfindingO(n log n)

Dynamic Window Approach

Chooses robot velocity commands by simulating short feasible motions and scoring them.

IntermediateCoreNo formula3 links
PathfindingGraphRandomness