\tikzset { treenode/.style = {align=center, inner sep=0pt, text centered}, key/.style = {treenode, circle, white, draw=black, fill=black, minimum size=2.0em, text width=2.0em}, empty/.style = {treenode, rectangle, draw=black, minimum width=0.5em, minimum height=0.5em} } \begin{center} \begin{tikzpicture}[->,>=stealth', level 1/.style={sibling distance=6cm}, level 2/.style={sibling distance=2.7cm}, level 3/.style={sibling distance=1.7cm}, level 4/.style={sibling distance=0.7cm}] \node [key] {10} child { node [key] {1} child{ node [key] {0} } child{ node [key] {5} child{ node [key] {3} child{ node[key] {2}} child{ node[empty] {}} } child{ node [key] {6} child{ node[empty] {}} child{ node[key] {9}} } } } child { node [key] {100} child { node [key] {20} child{ node [key] {12} child{ node[key] {11}} child{ node[empty] {}} } child{ node [key] {99} } } child{ node [key] {107} child{ node [key] {101}} child{ node [key] {1001} child{ node[empty] {}} child{ node[key] {1010}} } } } ; \end{tikzpicture} \end{center}