Árbol con algunas adiciones en Tikz.

Árbol con algunas adiciones en Tikz.

Actualizar:

Lo que he hecho es esto:

\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}

que producen lo siguiente: ingrese la descripción de la imagen aquí

Soy bastante nuevo en tikz y vi que hay muchos paquetes diferentes para dibujar árboles. No sé si es mejor usar "bosque"

Pregunta original:

¿Alguien puede ayudarme a reproducir el contenido de la imagen adjunta en tikz? Muchas gracias. ingrese la descripción de la imagen aquí

Respuesta1

En general, los métodos de árbol básicos de TikZ son los menos flexibles y tienen la sintaxis menos práctica. Para dibujar árboles de este tipo, recomiendo el forestpaquete. Esto te permite dibujar este árbol de manera muy simple:

\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}

salida de código

información relacionada