Baum mit einigen Ergänzungen in Tikz

Baum mit einigen Ergänzungen in Tikz

Aktualisieren:

Ich habe Folgendes getan:

\documentclass{article} 
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{document}
\begin{tikzpicture}[level distance=1.5cm,
  level 1/.style={sibling distance=3cm},
  level 2/.style={sibling distance=1.5cm}]
  \node {16}
    child {node {14}
      child {node [red] {4}
            child {node {2}}
            child {node {8}}
        }
      child {node [circle, draw, red] {7}
            child {node {1}}
        }
    }
    child {node {10}
    child {node {9}}
      child {node {3}}
    };
\end{tikzpicture}
\end{document}

was zu folgendem Ergebnis führt: Bildbeschreibung hier eingeben

Ich bin ziemlich neu bei Tikz und habe gesehen, dass es viele verschiedene Pakete zum Zeichnen von Bäumen gibt. Ich weiß nicht, ob es am besten ist, "Forest" zu verwenden.

Ursprüngliche Frage:

Kann mir jemand helfen, den Inhalt des angehängten Bildes in Tikz zu reproduzieren? Vielen Dank. Bildbeschreibung hier eingeben

Antwort1

Im Allgemeinen sind die grundlegenden Baummethoden von TikZ am wenigsten flexibel und haben die am wenigsten praktische Syntax. Zum Zeichnen von Bäumen dieser Art empfehle ich das forestPaket. Damit können Sie diesen Baum sehr einfach zeichnen:

\documentclass{article}
\usepackage[linguistics]{forest}
\newcommand{\lbl}[2][red]{{\color{#1}^#2}}
\begin{document}
\begin{forest}for tree=math content
[\lbl{1}16 
    [\lbl{2}14,name=14 
        [4,red,name=4 
            [2] 
            [8] 
        ] 
        [7,draw=red,circle 
            [1]
        ]
    ] 
    [\lbl{3}10,name=10 
        [\lbl{6}9 ] 
        [3,name=3]
    ]
]
\node [left of=4] (i) {i};
\draw[->] (i) -- (4);
\node[draw,fit=(i) (4)] {};
\node[draw,dashed,ellipse,rotate=45,fit=(10.north) (3)]{};
\draw[<->,] (4.north west) to[bend left] (14.south west);
\node [above of=i] {exchange};
\end{forest}
\end{document}

Ausgabe des Codes

verwandte Informationen