\documentclass[tikz,border=5pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amsfonts, amsthm, amssymb}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,positioning,shapes,automata,backgrounds}
\begin{document}
\begin{tikzpicture}[vertexScale/.style={scale=0.9}, highred/.style={thick, draw=red}, highblue/.style={thick, draw=blue, fill=blue!30}]
\begin{scope}[scale=0.65]
\node[] (u) at (-1.5,0) {};
\node[vertexScale] (1) at ($ (u) + (0:1.25) $) {a};
\node[vertexScale] (2) at ($ (u) + (90:1.5) $) {b};
\node[vertexScale] (3) at ($ (u) + (180:1.25) $) {c};
\node[vertexScale] (4) at ($ (u) + (-90:1.5) $) {d};
\node[] (v) at (1,0.5) {};
\node[vertexScale] (5) at ($ (v) + (0:1) $) {u};
\node[vertexScale] (6) at ($ (v) + (90:1) $) {v};
\node[vertexScale] (7) at ($ (v) + (-90:1) $) {w};
\path[->,draw,highblue]
(1) edge [] node {} (7)
(2) edge [] node {} (6);
\path[->,draw,highred]
(7) edge [] node {} (5)
(6) edge [] node {} (7);
\path[->,draw,bend left]
(1) edge [] node {} (2)
(2) edge [] node {} (3)
(3) edge [] node {} (4)
(4) edge [] node {} (1)
(6) edge [] node {} (5)
(5) edge [] node {} (6)
(2) edge [] node {} (1)
(3) edge [] node {} (2)
(4) edge [] node {} (3)
(1) edge [] node {} (4);
\node [scale=0.9] () at (-0.25,-3.5) {(a)};
\end{scope}
\begin{scope}[scale=0.65,xshift=5.5cm]
\node[vertexScale] (c) at (0,0) {$u$};
\node[vertexScale] (u1) at ($ (c) + (60:2) $) {$u_1$};
\node[vertexScale] (u2) at ($ (c) + (-60:2) $) {$u_2$};
\node[vertexScale] (u3) at ($ (c) + (180:2) $) {$u_3$};
\path[->,draw]
(c) edge [out=50,in=-110] node {} (u1)
(u1) edge [out=-130,in=70] node {} (c)
(c) edge [in=130,out=-70] node {} (u2)
(u2) edge [in=-50,out=110] node {} (c)
(c) edge [out=170,in=10] node {} (u3)
(u3) edge [out=-10,in=-170] node {} (c)
(u1) edge [out=-100,in=100] node {} (u2)
(u2) edge [out=80,in=-80] node {} (u1)
(u3) edge [out=20,in=-140] node {} (u1)
(u1) edge [out=-160,in=40] node {} (u3)
(u3) edge [out=-40,in=160] node {} (u2)
(u2) edge [out=140,in=-20] node {} (u3);
\node [scale=0.9] () at (-0.25,-3.5) {(b)};
\end{scope}
\begin{scope}[scale=0.65,xshift=10cm,yshift=1.5cm]
\node[vertexScale] (u) at (0,0) {$u$};
\node[vertexScale] (p1) at ($ (u) + (140:2) $) {$p_1$};
\node[vertexScale] (p2) at ($ (u) + (-170:2) $) {$p_2$};
\node[vertexScale] (p3) at ($ (u) + (-140:2) $) {$p_3$};
\node[vertexScale] (v) at (2,0) {$v$};
\path[->,draw,highblue]
(u) edge [] node {} (v);
\path[->,draw]
(p1) edge [] node {} (v)
(p2) edge [] node {} (u)
(p3) edge [] node {} (v)
(p1) edge [] node {} (u)
(p3) edge [] node {} (u);
\path[->,draw, bend left]
(p2) edge [out=30,in=160] node {} (v);
\end{scope}
\begin{scope}[scale=0.65,xshift=10cm,yshift=-1.5cm]
\node[vertexScale] (u) at (-1,0) {$u$};
\node[vertexScale] (v) at (1,0) {$v$};
\node[vertexScale] (p1) at ($ (v) + (40:2) $) {$s_1$};
\node[vertexScale] (p2) at ($ (v) + (-10:2) $) {$s_2$};
\node[vertexScale] (p3) at ($ (v) + (-40:2) $) {$s_3$};
\path[->,draw,highblue]
(u) edge [] node {} (v);
\path[<-,draw]
(p1) edge [] node {} (v)
(p3) edge [] node {} (v)
(p1) edge [] node {} (u)
(p3) edge [] node {} (u)
(p2) edge [] node {} (v);
\path[->,draw]
(u) edge [out=-10,in=180] node {} (p2);
\node [scale=0.9] () at (-0.25,-2) {(c)};
\end{scope}
\end{tikzpicture}
\end{document}