The idea is to use one of the packages PGF/TikZ or PS-Tricks. The documentation for both packages contains numerous examples.
In TeXample.net you can find some code that you can use as a source of inspiration for PGF/TikZ; particularly useful is the section Graphs
In the PS-Tricks page you have also a gallery of examples and the flowchart section contains an example that could be useful.
EDIT: here's a basic example (using TikZ) that could give you a starting point:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[%
every node/.style={draw,fill=gray!40,circle,minimum size=3pt},node distance=1cm]
% the vertices
\node[label=left:Source] (source) at (0,0) {1};
\node[right=of source] (three) {3};
\node[above=of three] (two) {2};
\node[below=of three] (four) {4};
\node[right=of source] (three) {3};
\node[right=of three] (six) {6};
\node[above=of six] (five) {5};
\node[below=of six] (seven) {7};
\node[right=of six,label=right:Sink] (sink) {8};
% the edges
\draw (source) -- (two) -- (five) -- (sink) -- (seven) -- (four) -- (source) -- (three) -- (six) -- (sink);
\draw (two) -- (three) -- (four);
\draw (five) -- (six) -- (seven);
\end{tikzpicture}
\end{document}

EDIT2: another example including dashed curved lines and some label for the edges, as requested in a comment:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\begin{scope}[auto,%
every node/.style={draw,fill=gray!40,circle,minimum size=3pt},node distance=1cm]
% the vertices
\node[label=left:Source] (source) at (0,0) {1};
\node[right=of source] (three) {3};
\node[above=of three] (two) {2};
\node[below=of three] (four) {4};
\node[right=of source] (three) {3};
\node[right=of three] (six) {6};
\node[above=of six] (five) {5};
\node[below=of six] (seven) {7};
\node[right=of six,label=right:Sink] (sink) {8};
\end{scope}
% the edges
\draw (source) -- node[label=above:4] {} (two) -- node[label=above:7] {} (five) -- node[label=above:8] {} (sink) -- (seven) -- (four) -- (source) -- (three) -- (six) -- (sink);
\draw (two) -- (three) -- (four);
\draw (five) -- (six) -- (seven);
\draw[dashed] (two) to [bend right=95] (source);
\draw[dashed] (five) to [bend left=95] (sink);
\draw[dashed] (source) .. controls (1,-3.5) and (4,-3.5) .. (sink);
\end{tikzpicture}
\end{document}
EDIT3: and another example:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[%
every node/.style={draw,fill=gray!40,circle,minimum size=18pt,font=\footnotesize},
node distance=3cm,on grid]
% the vertices
\node[label=left:Source] (source) at (0,0) {1};
\node[right=of source] (three) {3};
\node[above=of three] (two) {2};
\node[below=of three] (four) {4};
\node[right=of source] (three) {3};
\node[right=of three] (six) {6};
\node[above=of six] (five) {5};
\node[below=of six] (seven) {7};
\node[right=of six,label=right:Sink] (sink) {8};
\node at (1.9,1) (sfive) {$5^*$};
\node at (4.5,1) (sseven) {$7^*$};
\node at (7.1,1) (ssix) {$6^*$};
\node at (1.9,-1) (sthree) {$3^*$};
\node at (4.5,-1) (stwo) {$2^*$};
\node at (7.1,-1) (sfour) {$4^*$};
\node at (4.5,4) (seight) {$8^*$};
\node at (4.5,-4) (sone) {$1^*$};
% the edges
\draw (source) -- (two) -- (five) -- (sink) -- (seven) -- (four) -- (source) -- (three) -- (six) -- (sink);
\draw (two) -- (three) -- (four);
\draw (five) -- (six) -- (seven);
\begin{scope}[dashed]
\draw (sfive) -- (sseven) -- (ssix) -- (sfour) -- (stwo) -- (sthree) -- (sfive);
\draw (sthree) to [bend right=55] (sone);
\draw (sfour) to [bend left=55] (sone);
\draw (sfive) to [bend left=55] (seight);
\draw (ssix) to [bend right=55] (seight);
\draw (source) .. controls (1,-6.5) and (8,-6.5) .. node[draw=none, fill=none,label=above:$s^*$] {} (sink);
\end{scope}
\end{tikzpicture}
\end{document}
And the result:
