Speichern Sie 2 Werte in einem Knoten, getrennt durch eine horizontale Linie in der Mitte

Speichern Sie 2 Werte in einem Knoten, getrennt durch eine horizontale Linie in der Mitte

Ich habe den folgenden Binärbaum:

\begin{tikzpicture}[
           every node/.style={draw,circle}]
        \node {10}
            child{node{5}}
            child{node{20}}
            ;
\end{tikzpicture}

Binärer Baum

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}

Binärer Baum

Antwort1

Verwenden Sie für Knoten circle splitdie Form aus shapes.multipartder 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}

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

verwandte Informationen