Computer algorithms that explore discrete graphs and use techniques from graph theory to perform computational tasks.