\section{Review}

\definition{}
A \textit{graph} consists of a set of \textit{nodes} $\{A, B, ...\}$ and a set of edges $\{ (A,B), (A,C), ...\}$ connecting them.
A \textit{directed graph} is a graph where edges have direction. In such a graph, edges $(A, B)$ and $(B, A)$ are distinct.
A \textit{weighted graph} is a graph that features weights on its edges. \\
A weighted directed graph is shown below.

\begin{center}
	\begin{tikzpicture}[node distance = 20mm]
		% Nodes
		\begin{scope}
			\node[main] (A) {$A$};
			\node[main] (B) [below right of = A] {$B$};
			\node[main] (C) [below left of = A] {$C$};
		\end{scope}

		% Edges
		\draw[->]
			(A) edge[bend right] node[label] {$4$} (B)
			(B) edge node[label] {$2$} (C)
			(C) edge node[label] {$2$} (A)
			(B) edge[bend right] node[label] {$1$} (A)
		;
	\end{tikzpicture}
\end{center}

\vfill

\definition{}
We say a graph is \textit{bipartite} if its nodes can be split into two groups $L$ and $R$, where no two nodes in the same group are connected by an edge: \\

\begin{center}
	\begin{tikzpicture}
		% Nodes
		\begin{scope}
			\node[main] (A) at (0mm, 0mm) {$A$};
			\node[main] (B) at (0mm, -10mm) {$B$};
			\node[main] (C) at (0mm, -20mm) {$C$};

			\node[main, hatch] (D) at (20mm, 0mm) {$D$};
			\node[main, hatch] (E) at (20mm, -10mm) {$E$};
			\node[main, hatch] (F) at (20mm, -20mm) {$F$};
		\end{scope}

		% Edges
		\draw
			(A) edge (D)
			(A) edge (E)
			(B) edge (F)
			(C) edge (E)
			(C) edge (D)
		;
	\end{tikzpicture}
\end{center}

\vfill
\pagebreak