
Ich habe den folgenden Binärbaum:
\begin{tikzpicture}[
every node/.style={draw,circle}]
\node {10}
child{node{5}}
child{node{20}}
;
\end{tikzpicture}
Gibt es eine Möglichkeit, jeden Knoten in zwei Hälften zu teilen, indem man in der Mitte jedes Knotens eine horizontale Linie hinzufügt und dann oberhalb und unterhalb der Linie einen Wert hinzufügt?
Ich möchte einen erweiterten Binärbaum erstellen, in dem jeder Knoten zusätzliche Werte außerhalb des Schlüssels speichert.
BEARBEITEN:
Das beste Ergebnis erreiche ich, indem ich die Zahlen in Brüche umwandele. Das sieht aber nicht so schön aus. Ich möchte nicht, dass jemand denkt, es handele sich um einen Bruch und nicht um zwei verschiedene Zahlen.
NOCHMALS BEARBEITEN:
Vielen Dank euch beiden für die Antwort. Es scheint großartig zu funktionieren. Das einzige Problem, mit dem ich derzeit konfrontiert bin, ist, dass anscheinend auch unter den Beschriftungen eine horizontale Linie hinzugefügt wurde. Gibt es eine Möglichkeit, die Linien nur für die Beschriftungen zu entfernen?:
\begin{tikzpicture}[
every node/.style={circle split,draw}]
\node [label=330:$0$]{10\nodepart{lower}1}
child{node[label=330:$1$]{5\nodepart{lower}2}}
child{node[label=330:$2$]{20\nodepart{lower}3}}
;
\end{tikzpicture}
Antwort1
Verwenden Sie für Knoten circle split
die Form aus shapes.multipart
der TikZ-Bibliothek:
\documentclass[tikz, border=3mm]{standalone}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}[
every node/.style={circle split,draw}
]
\node {10\nodepart{lower}1}
child{ node { 5\nodepart{lower}2}}
child{ node {20\nodepart{lower}3}}
;
\end{tikzpicture}
\end{document}
Nachtrag:Falls Sie Knoten im Baum Beschriftungen hinzufügen möchten, können Sie den Stil nicht für jeden Knoten verwenden, da dieser auch auf die Beschriftung angewendet wird. Umgehung:
\documentclass[tikz, border=3mm]{standalone}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}[
X/.style={circle split,draw}
]
\node[X,label=330:$0$] {10\nodepart{lower}1}
child{ node[X] { 5\nodepart{lower}2}}
child{ node[X] {20\nodepart{lower}3}}
;
\end{tikzpicture}
\end{document}
Das Ergebnis ist: