  Given a graph $G$, a vertex switch of $v \in V(G)$ results in a new graph
where neighbors of $v$ become nonneighbors and vice versa. This operation gives
rise to an equivalence relation over the set of labeled digraphs on $n$
vertices. The equivalence class of $G$ with respect to the switching operation
is commonly referred to as $G$'s switching class. The algebraic and
combinatorial properties of switching classes have been studied in depth;
however, they have not been studied as thoroughly from an algorithmic point of
view. The intent of this work is to further investigate the algorithmic
properties of switching classes. In particular, we show that switching classes
can be used to asymptotically speed up several super-linear unweighted graph
algorithms. The current techniques for speeding up graph algorithms are all
somewhat involved insofar that they employ sophisticated pre-processing,
data-structures, or use "word tricks" on the RAM model to achieve at most a
$O(\log(n))$ speed up for sufficiently dense graphs. Our methods are much
simpler and can result in super-polylogarithmic speedups. In particular, we
achieve better bounds for diameter, transitive closure, bipartite maximum
matching, and general maximum matching.
