A* & Heuristic Search
Dijkstra's algorithm finds the shortest path to every vertex by always expanding the closest
Dijkstra's algorithm finds the shortest path to every vertex by always expanding the closest
A graph is bipartite when its vertices split into two groups such that every edge runs between
A single kernel launch costs the CPU roughly 3–10 µs of driver-side work, independent of how much the kernel actually does. A pipeline that issues 50 small kernels per iteration can spend more time launching work than the GPU spends computing it, and Streams and Concurrency doesn't fix that — streams reorder and overlap launches, they don't reduce their count. A CUDA graph captures a whole sequence of operations once and replays it as a single launch, collapsing 50 dispatches into one.
A cycle is a path that leaves a vertex and, by following edges, returns to it. That definition reads
A neural network is a function composition, layer feeding layer, and the graph of that composition is exactly what gets differentiated to train the network. Writing the forward pass explicitly as a graph of small, primitive operations is what turns "compute gradients" from a calculus exercise into a completely mechanical procedure — this page establishes that graph view before Backpropagation differentiates it.
Once a problem is expressed as a graph, a small set of algorithms
This page is a reference, not a tutorial — see Graph Algorithms Overview for a first
Given a connected, undirected, weighted graph, a spanning tree picks exactly V - 1 edges that keep
A flow network is a directed graph where every edge has a capacity, one vertex is a source pumping
"Shortest" means fewest edges on an unweighted graph and lowest total weight on a weighted one, and
In a directed graph, two vertices are strongly connected if each can reach the other — a path
A topological sort orders the vertices of a directed acyclic graph so every edge points forward —
Breadth-first and depth-first search both visit every vertex reachable from a start point, in
Some problems never ask what is in a group. They ask only whether two things have ended up in the