I want to style a tree into this form :

but my code is in generate this:

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}
\begin{tikzpicture}
[level distance=10mm,
every node/.style={fill=red!60,circle,inner sep=1pt},
level 1/.style={sibling distance=20mm,nodes={fill=red!45}},
level 2/.style={sibling distance=10mm,nodes={fill=red!30}},
level 3/.style={sibling distance=5mm,nodes={fill=red!25}}]
\node {31}
child {node {30}
child {node {20}
child {node {5}}
child {node {4}}
}
child {node {10}
child {node {9}}
child {node {1}}
}
}
child {node {20}
child {node {19}
child {node {1}}
child[missing]
}
child {node {18}}
};
\end{tikzpicture}
\end{document}
How can I make the line begins from the center of the circle instead of the edge?

tikzpictureenvironment. – Claudio Fiandrino Nov 17 '12 at 8:45\begin{tikzpicture}to\end{tikzpicture}and paste it into my tex file, but the line still begins from the edge, the result is different from the book, just like my picture, this is why I ask this problem here. – UniMouS Nov 17 '12 at 8:54.texfile starting with\documentclassand ending with\end{document}. – Claudio Fiandrino Nov 17 '12 at 9:01