Qué es un ÁRBOL en un algoritmo
Un árbol es una estructura de datos que se emplea para atacar diversos retos recurrentes en programación.
Ejemplos:
- Representación jerárquica de relaciones
- Ordenación de datos
- Facilitar operaciones rápidas de búsqueda
Este contenido está restringido.
HAZTE PREMIUM
para difrutar de los audios y vídeos exclusivos.
Hay muchos tipos de árboles, de distintas formas y tamaños.
Terminología básica
Existen muchos términos asociados a los árboles, con lo que es interesante que enumeremos aquí los más relevantes.
Nodo
Al igual que en las Linked Lists, los árboles están compuestos por nodos.
Cada nodo encapsula datos y mantiene un trackeo de sus hijos.
Padre e Hijo
Los árboles se ven de arriba a abajo.
O sea, como un árbol de la vida real, pero que se le ha dado la vuelta. 😅
Si en la vida real se empieza desde abajo con un tronco que se va ramificando hacia arriba, aquí el tronco estaría en la parte superior, y esas ramas irían hacia abajo.
Cada nodo (excepto el primero) está conectado con un único nodo arriba.
A este nodo de arriba, se le llama nodo padre.
Cada nodo padre puede tener varios hijos.
Pero cada hijo, un solo padre. Esto tiene bastante sentido.
Raíz
El nodo desde el que se parte es el nodo raíz.
Es el único que no tiene padre.
Hoja
Un nodo que no tiene hijos, es un nodo hoja.
Es donde termina esa parte del árbol.
Como la nomenclatura de todo esto se suele hacer en inglés, veamos una tabla de correspondencias:
Español | Inglés |
---|---|
Nodo | Node |
Padre | Parent |
Hijo | Child |
Raíz | Root |
Hoja | Leaf |