\documentclass{article}

\usepackage{tikz}
\usepackage{tikz-qtree}

\begin{document}

\tikzset{
  every tree node/.style={minimum width=1cm,draw,circle},
  nullptr/.style={draw=none},
  edge from parent/.style={draw, edge from parent path={(\tikzparentnode) -- (\tikzchildnode)}},
  level distance=2cm
}

Initial BST

\begin{tikzpicture}
\Tree
[.25
  [.12
    [.8
	  [.3
	    \node[nullptr]{};
		\node[nullptr]{};
	  ]
	  \node[nullptr]{};
	]
	[.19
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
  [.32 
    [.26
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
	[.50
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
]
\end{tikzpicture}

Insert 10

\begin{tikzpicture}
\Tree
[.25
  [.12
    [.8
	  [.3
	    \node[nullptr]{};
		\node[nullptr]{};
	  ]
	  [.10
	    \node[nullptr]{};
		\node[nullptr]{};
	  ]
	]
	[.19
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
  [.32 
    [.26
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
	[.50
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
]
\end{tikzpicture}

\pagebreak
Remove 8 in progress (before the recursive call in the `hard part')

\begin{tikzpicture}
\Tree
[.25
  [.12
    [.10
	  [.3
	    \node[nullptr]{};
		\node[nullptr]{};
	  ]
	  [.10
	    \node[nullptr]{};
		\node[nullptr]{};
	  ]
	]
	[.19
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
  [.32 
    [.26
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
	[.50
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
]
\end{tikzpicture}

Remove 8 (done)

\begin{tikzpicture}
\Tree
[.25
  [.12
    [.10
	  [.3
	    \node[nullptr]{};
		\node[nullptr]{};
	  ]
	  \node[nullptr]{};
	]
	[.19
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
  [.32 
    [.26
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
	[.50
	  \node[nullptr]{};
	  \node[nullptr]{};
	]
  ]
]
\end{tikzpicture}

\pagebreak


\end{document}
