Está en la página 1de 6

ARBOLES BINARIOS

Los árboles binarios son una estructura de datos jerárquica utilizada en ciencias de la
computación para representar relaciones jerárquicas entre elementos. Esta estructura se
compone de nodos, los cuales pueden tener cero, uno o dos hijos. Cada nodo tiene un
valor asociado, y los nodos que no tienen hijos se denominan hojas.

Los árboles binarios se pueden recorrer de diferentes maneras, los tres recorridos
principales son:

1. En el recorrido en orden, se visita primero el hijo izquierdo, luego el nodo actual y


finalmente el hijo derecho. Este recorrido produce una lista ordenada de los valores
almacenados en el árbol.

2. En el recorrido en preorden, se visita primero el nodo actual, luego el hijo izquierdo y


finalmente el hijo derecho.

3. En el recorrido en postorden, se visita primero el hijo izquierdo, luego el hijo derecho


y finalmente el nodo actual.
Un ejemplo de árbol binario podría ser el siguiente:

10
/ \
8 12
/\ /\
7 9 11 13

Este árbol binario tiene un nodo raíz con valor 10, y dos hijos, uno con valor 8 y otro
con valor 12. El nodo con valor 8 tiene dos hijos a su vez, uno con valor 7 y otro con
valor 9. De manera similar, el nodo con valor 12 tiene dos hijos, uno con valor 11 y otro
con valor 13. Los nodos que no tienen hijos se denominan hojas, en este caso los nodos
con valores 7, 9, 11 y 13.
Este árbol binario cumple con la propiedad de ordenamiento, ya que para cada nodo, el
valor del hijo izquierdo es menor que el valor del nodo y el valor del hijo derecho es
mayor que el valor del nodo. Además, se puede realizar un recorrido en orden, preorden
o postorden para visitar todos los nodos del árbol en un orden específico.

Por ejemplo, el recorrido en orden del árbol sería: 7, 8, 9, 10, 11, 12, 13. En el recorrido
en preorden, el orden sería: 10, 8, 7, 9, 12, 11, 13, y en el recorrido en postorden, el
orden sería: 7, 9, 8, 11, 13, 12, 10.

CARACTERISTICAS
Los árboles binarios son un tipo de estructura de datos en la que cada nodo puede tener
como máximo dos hijos. Algunas características de los árboles binarios son:

1. Cada nodo puede tener a lo sumo dos hijos y estos se denominan hijo izquierdo y hijo
derecho.

2. El primer nodo del árbol se llama raíz, no tiene padre y es el único nodo que no tiene
una arista entrante.

3. Los nodos que no tienen hijos se llaman nodos hoja o externos.

4. La altura de un árbol binario es la longitud del camino más largo desde la raíz hasta
una hoja.

5. Un árbol binario completo es aquel en el que todos los niveles excepto el último están
completamente llenos y en el último nivel, todos los nodos están en el lado izquierdo.

6. Un árbol binario balanceado es aquel en el que las alturas de los subárboles de


cualquier nodo difieren como máximo en una unidad.

7. Un árbol binario de búsqueda es aquel en el que para cada nodo, el valor de todas las
claves en su subárbol izquierdo es menor que la clave del nodo y el valor de todas las
claves en su subárbol derecho es mayor que la clave del nodo.
Estas son algunas de las características más importantes de los árboles binarios, aunque
existen muchas otras que pueden variar dependiendo de la implementación específica.

¿PARA QUE SIRVEN?


Los árboles binarios se utilizan en programación como una estructura de datos para
almacenar información de una manera organizada y eficiente. Algunos de los propósitos
y aplicaciones de los árboles binarios son:

1. Búsqueda y ordenación de datos: Los árboles de búsqueda binarios pueden utilizarse


para buscar y ordenar datos de manera eficiente.

2. Análisis de algoritmos: Los árboles binarios son una estructura de datos fundamental
en el estudio de algoritmos y estructuras de datos.

3. Compresión de datos: Los árboles binarios se utilizan en técnicas de compresión de


datos como el árbol de Huffman, que es capaz de generar códigos de compresión de
longitud variable para diferentes símbolos.

4. Recorridos y caminos: Los árboles binarios permiten diferentes tipos de recorridos y


rutas, como el recorrido en orden, preorden y postorden, y también pueden ser utilizados
para encontrar caminos y rutas específicos.

5. Inteligencia artificial: Los árboles binarios se utilizan en la construcción de árboles de


decisión para la toma de decisiones en aplicaciones de inteligencia artificial.

En resumen, los árboles binarios son una estructura de datos muy versátil que permite el
almacenamiento y organización eficiente de información y tiene una amplia variedad de
aplicaciones en programación y otras áreas de conocimiento

Este es solo un ejemplo de árbol binario, los árboles binarios pueden tener diferentes
formas y valores asociados a sus nodos, pero siempre cumplen con la propiedad de
ordenamiento y se pueden recorrer de diferentes maneras para procesar la información
almacenada en ellos.

EJERCICIO
Se tiene el siguiente árbol binario:
7
/ \
5 9
/\ /\
2 6 8 10

Escribir un programa en C++ que muestre los números almacenados en el árbol binario
utilizando un recorrido inorden.

Solución:

c++
#include <iostream>
using namespace std;

struct Nodo{
int dato;
Nodo *izquierda, *derecha;
};

Nodo* nuevoNodo(int dato){


Nodo* nodo = new Nodo;
nodo -> dato = dato;
nodo -> izquierda = nodo -> derecha = nullptr;
return nodo;
}

void inorden(Nodo* nodo){


if(nodo == nullptr){
return;
}
inorden(nodo -> izquierda);
cout << nodo -> dato << " ";
inorden(nodo -> derecha);
}

int main(){
Nodo *raiz = nuevoNodo(7);
raiz -> izquierda = nuevoNodo(5);
raiz -> derecha = nuevoNodo(9);
raiz -> izquierda -> izquierda = nuevoNodo(2);
raiz -> izquierda -> derecha = nuevoNodo(6);
raiz -> derecha -> izquierda = nuevoNodo(8);
raiz -> derecha -> derecha = nuevoNodo(10);

cout << "Recorrido inorden: ";


inorden(raiz);
}

Resultado:
Recorrido inorden: 2 5 6 7 8 9 10

También podría gustarte