Graph Algorithms
Graphs can be used to model a plethora of natural objects, such as connections in a transportation network, social relations between individuals, links in the internet and the web, and so on. The abundance of these objects in science and engineering, gives rise to important algorithmic problems in graphs, including partitioning, labeling, routing, flows, and shortest-paths. Research on graph algorithms seeks to design efficient methods for solving these problems, with good solution guarantees. Often, this is done by either designing algorithms for general graphs, or by exploiting the structure of interesting graph classes, such as planar graphs, or expanders.