2010-03-16 6 views
4

아래 코드는 거의 완벽하게 작동하지만 9, 7의 자식은 왼쪽 자식이 아닌 아래쪽으로 똑바로 매달려 있습니다. 이 문제를 어떻게 해결할 수 있습니까?LaTex에서 내 AVL 트리를 올바르게 표시하려면 어떻게해야합니까? 솔로 왼쪽 자식이 곧바로 걸려 넘어짐

\usepackage{tikz} 
\usepackage{xytree} 
\begin{tikzpicture}[level/.style={sibling distance=60mm/#1}] 
    \node [circle,draw] {4} 
     child { 
     node [circle,draw] {2} 
      child {node [circle,draw] {1} 
     } 
     child { 
      node [circle,draw]{3} 
     } 
     } 
     child {node [circle,draw] {6} 
     child {node [circle,draw] {5} 
     } 
     child {node [circle,draw] {9} 
     child {node [circle, draw] {7}} 
     } 
    }; 

\end{tikzpicture}} 

감사합니다, CB

답변

2

제안 된대로 tikz 설명서를 참조한 후에 다음과 같이 수정할 수있었습니다.

\begin{tikzpicture}[level/.style={sibling distance=60mm/#1}] 
    \node [circle,draw] {4} 
     child { 
     node [circle,draw] {2} 
      child {node [circle,draw] {1} 
     } 
     child { 
      node [circle,draw]{3} 
     } 
     } 
     child {node [circle,draw] {6} 
     child {node [circle,draw] {5} 
     } 
     child {node [circle,draw] {9} 
     child {node [circle, draw] {7}} 
     child [missing] 
     } 
    }; 

    \end{tikzpicture} 
+0

이것은 제가 이전에 제공했던 것보다 훨씬 깨끗한 해결책입니다. – midtiby

+0

'\ tikzstyle {모든 노드} = [circle, draw]'를 사용하면 도움이 될 것입니다. – Richard

6

아래의 코드는 나를 위해 작동합니다. 그것은 자세한 내용은 변경

1

)을 tikz 라이브러리 나무와 단일 노드의 형식의 2) 변경을 사용 (노드 7)

와 함께, 귀하의 코드를 기반으로하면 tikz 설명서를 참조

\documentclass{article} 
\usepackage{tikz} 
\usetikzlibrary{trees} 

\begin{document} 

\begin{tikzpicture}[level/.style={sibling distance=60mm/#1}] 
    \node [circle,draw] {4} 
     child { 
     node [circle,draw] {2} 
      child {node [circle,draw] {1} 
     } 
     child { 
      node [circle,draw]{3} 
     } 
     } 
     child {node [circle,draw] {6} 
     child {node [circle,draw] {5} 
     } 
     child {node [circle,draw] {9} 
     child[grow via three points={one child at (-1,-1) and two children at (-.5,1) and (.5,1)}] {node [circle, draw] {7}} 
     } 
    }; 

\end{tikzpicture} 

\end{document} 
+0

정말 고마워! –

+0

아마도'\ tikzstyle {모든 노드} = [circle, draw]'를 사용하면 도움이 될 것입니다. – Richard