Está en la página 1de 10

ALUMNO:

PRÁCTICA Kevin Jair Huerta Labastida 18030888

Catedrático:
M. T. I. Antonio Martínez González

ÁRBOLES
BINARIOS
3F21 Estructura de Datos
Introducción

Hasta el momento las estructuras de datos que hemos estudiado eran de tipo lineal,
o sea, existía una relación de anterior y siguiente entre los elementos que la
componían (cada elemento tendrá uno anterior y otro posterior, salvo los casos de
primero y último). Pues bien, aquí se va a estudiar una estructuración de los datos
más compleja los árboles, y dentro de estos el árbol binario más concretamente.

Este tipo de estructura es usual incluso fuera del campo de la informática, ejemplos
de ello son los árboles gramaticales para analizar oraciones, los árboles
genealógicos, representación de jerarquías, etc... La estructuración en árbol de los
elementos es fundamental dentro del campo de la informática aplicándose en una
amplia variedad de problemas.

En principio podemos considerar la estructura de árbol de manera intuitiva como


una estructura jerárquica, por tanto para estructurar un conjunto de elementos e i en
árbol, deberemos escoger uno de ellos e 1 al que llamaremos raíz del árbol, del resto
de los elementos se selecciona un subconjunto e 2,...,ek estableciendo una relación
padre-hijo entre la raíz y cada uno de dichos elementos de manera que e 1 es
llamado el padre de e2, de e3,...ek y cada uno de ellos es llamado un hijo de e1.
Iterativamente podemos realizar la misma operación para cada uno de estos
elementos asignando a cada uno de ellos un número de 0 o más hijos hasta que no
tengamos más elementos que insertar. El único elemento que no tiene padre es la
raíz del árbol. Por otro lado, hay un conjunto de elementos que no tienen hijos,
aunque sí padre que son llamados hojas. Como hemos visto la relación de
paternidad es una relación uno a muchos.
Desarrollo
Para la creación de los árboles y sus ramas ocupe una clase con métodos para tan
solo en otra instanciar la clase y las ramas para asi solo crear los objetos y que haga
los órdenes solicitados.
Aquí en la clase prueba se instancio todo, la clase tanto como los objetos.
Aquí se muestra el tiempo de ejecución.
Se muestra los tiempos de ejecución de cada uno de los datos ingresados.
Conclusión
Luego de concluir el siguiente tema, debemos tener en cuenta que un árbol como
estructura de datos nos permite almacenar una cantidad significativa de datos de
forma ordenada. Un árbol se representa con un conjunto de nodos entrelazados
entre sí por medio de ramas, debemos tener en cuenta que el nodo base es único,
y se le denomina raíz. En un árbol un padre puede tener varios hijos, pero un hijo
solo puede tener un padre. Desde la raíz se puede llegar a cualquier nodo
progresando por las ramas y atravesando los sucesivos niveles estableciendo así
un camino.

Los recorridos de un árbol se entienden por el tratamiento realizado para acceder a


los diferentes nodos de un árbol. El recorrido puede afectar a la totalidad de los
nodos del árbol, por eso debemos tener muy claro que al realizar un árbol debemos
colocar nombres complejos que trate del algoritmo que estamos realizando, ya que
al realizar los recorridos debemos saber dónde estamos ubicados en dicho árbol, y
cuando se vaya haciendo más extenso dicho algoritmo que hemos creado sea más
fácil de ubicarnos. Ya que si nos ubicamos mal en un nodo podemos crear un mal
funcionamiento del algoritmo, borrar información equivocada o que ocurra un
desbordamiento de datos.
Referencias

• Weiss, M.A.: Data Structures and Algorithm Analysis in C++, 4th Edition,
Pearson/Addison Wesley, 2014.
• Hernández, Z.J. y otros: Fundamentos de Estructuras de Datos. Soluciones en
Ada, Java y C++, Thomson, 2005.
• Shaffer, Clifford A.: Data Structures and Algorithm Analysis in C++, Third
Edition, Dover Publications, 2013.

También podría gustarte