Está en la página 1de 11

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA

INSTITUTO UNIVERSITARIO POLITÉCNICO “SANTIAGO MARIÑO”

MAYO DE 2021

TOMA DE DECISIONES

AUTOR:

BR. RUIZ EDUARDO

ING. DE SISTEMAS

PROGRAMACIÓN NO NUMERICA II
INTRODUCCIÓN

La siguiente investigación trata sobre la estructura de datos no lineales


llamada árbol. Usada principalmente para organizar y representar datos con una
relación jerárquica entre sus elementos, como por ejemplo registros, árboles
genealógicos, y tablas de contenidos.

Se profundizará la información en un tipo especial de árbol llamado árbol


binario, el cual puede ser implementado fácilmente en la computadora; aunque
puede parecer muy restrictivo.

También se va a ampliar sobre los métodos de recorridos de árboles.


ÍNDICE

1. Definición de Árboles en General..........................................................................................4


2. Características Generales de Árboles..................................................................................4
3. Árboles Binarios.......................................................................................................................5
3.1. Definición de Árbol Binario.............................................................................................5
3.2. Características Generales de Arboles Binarios...........................................................6
3.3. Aplicación de Arboles Binarios......................................................................................6
3.4. Arboles Binarios de Búsqueda......................................................................................7
3.5. Métodos de Recorrido de árboles.................................................................................7
3.5.1. Pre Orden.................................................................................................................8
3.5.2. Post Orden................................................................................................................8
3.5.3. In Orden....................................................................................................................8
1. Definición de Árboles en General.

Los árboles, llamados así por su aspecto, son una de las estructuras de
datos dinámicas más utilizadas en la informática, pero también es una de las más
complejas, compuesta de nodos y aristas, se emplean para resolver problemas
tanto de hardware como de software, caracterizándose por almacenar sus nodos
en forma jerárquica o ramificada y no en forma lineal o secuencial como las listas
enlazadas, colas, pilas, entre otros. Es la forma más eficaz de organizar toda la
información en un ordenador y la mejor manera con la que poder trabajar con una
gran cantidad de datos dentro de unas bases de datos, ya que puede modificar su
estructura (ampliar o limitar su tamaño) mientras se ejecuta el programa.

2. Características Generales de Árboles.

Para comprender mejor los árboles hay que saber que todos poseen:

Nodos también llamados vértices, son cada elemento o contenedor de


datos que tiene un árbol.

Nodo raíz, es el primer nodo de un árbol, este se encuentra en la parte


superior del mismo y desde él cuelgan todos sus descendientes. Cabe destacar
que cada árbol solo puede tener un nodo raíz.

Nodos padres, llamado así a todos aquellos nodos que tiene al menos un
hijo.

Nodos hijos, son todos aquellos nodos que tiene un padre.

Nodos hermanos, son todos los nodos que comparten a un mismo padre en
común dentro de la estructura.

Nodos hojas, son todos aquellos nodos que no tienen hijos, los cuales
siempre se encuentran en los extremos de la estructura.

Nodos ramas, conocidos también por el nombre de nodos internos, son


todos aquellos nodos que no son la raíz y que además tiene al menos un hijo.
Las aristas, que son los enlaces que van desde un nodo hasta otro nodo, es
decir, la conexión y/o relación entre un nodo y otro.

Un árbol que no tiene ningún nodo se llama árbol vacío o nulo. Por lo tanto,
un árbol que no está vacío consta de un nodo raíz y potencialmente muchos
niveles de nodos adicionales que forman una jerarquía.

Altura de un árbol es el máximo número de niveles de todos los nodos del


árbol y la altura de un nodo en un árbol es la longitud del camino más largo que
comienza en el nodo y termina en una hoja. Dicho esto, podemos denotar que la
altura de un nodo hoja es 0, la altura de un nodo es igual a la mayor altura de sus
hijos +1 y que la altura del árbol determina la eficiencia de la mayoría de
operaciones definidas sobre él.

Nivel, es cada generación dentro del árbol, por lo cual, cuando a un nodo
hoja le agregamos un hijo, el nodo hoja pasa a ser un nodo rama pero además el
árbol crece una generación por lo que el árbol obtiene un nivel más. Cada
generación tiene un número de nivel distinto que las demás generaciones. De tal
manera que podemos decir que la profundidad de la raíz es 0 y la profundidad de
un nodo es igual a la profundidad de su padre +1.

Grado se refiere al número mayor de hijos que tiene alguno de los nodos
del árbol y está limitado por el orden, ya que este indica el número máximo de
hijos que puede tener un nodo, es decir, es el número de hijos que tiene en ese
momento el nodo.

3. Árboles Binarios.

3.1. Definición de Árbol Binario.

Los árboles binarios son una estructura de datos no lineal en la que cada
nodo del árbol no tendrá más de dos descendientes directos, es decir, cada nodo
solo puede apuntar a uno o máximo a dos nodos, por tal razón se llama de esa
forma, se caracteriza porque tiene un vértice principal y de él se desprende dos
ramas, la rama izquierda y la rama derecha, las cuales se les conocen como
subárboles, se dice que es acíclico debido a que no tiene ciclos.

3.2. Características Generales de Arboles Binarios.

 Son estructuras de control de información.


 Puede contener de 1 a 2 nodos.
 Cada nodo puede tener 0, 1 ó 2 hijos.
 Cada nodo puede ser la raíz de un subárbol.
 No puede haber más de 2 subárboles por nodo.
 Son recursivos.

3.3. Aplicación de Arboles Binarios.

Se les puede utilizar para representar una estructura en la cual es posible


tomar decisiones con dos opciones en distintos puntos.

Se emplea para la representación de expresiones aritméticas, dado que una


operación con dos operandos la podemos representar como un árbol cuya raíz
sea el operador, y sus subárboles sean los operandos.

Se usa en muchas aplicaciones de búsqueda donde los datos entran y


salen constantemente, como los objetos map y set en las bibliotecas de muchos
idiomas.

Se utiliza en casi todos los videojuegos en 3D para determinar qué objetos


deben representarse.

Se utilizan en casi todos los enrutadores de gran ancho de banda para


almacenar tablas de enrutadores.

Se utiliza en programas p2p y firmas de imágenes especializadas en las


que se debe verificar un hash, pero el archivo completo no está disponible.

Se utilizan para implementar colas de prioridad eficientes, que a su vez se


utilizan para programar procesos en muchos sistemas operativos, calidad de
servicio en enrutadores y en algoritmo de búsqueda de ruta utilizado en
aplicaciones de IA, incluida la robótica y los videojuegos.

Se utiliza en algoritmos de compresión, como los utilizados por los


formatos de archivo .jpeg y .mp3.

Se usan en aplicaciones criptográficas para generar un árbol de números


pseudoaleatorios.

Se usa en compiladores y (implícitamente) calculadoras para analizar


expresiones.

3.4. Arboles Binarios de Búsqueda.

Los árboles binarios de búsqueda son un tipo especial de árbol binario cuya
característica radica en la forma ordenada de insertar sus elementos, facilitando
así la búsqueda de un nodo en particular, en este, los elementos del subárbol
izquierdo de cualquier nodo (si no está vacío) contiene valores menores que el
que contiene dicho nodo, y el subárbol derecho (si no está vacío) contiene valores
mayores que el que contiene dicho nodo.

Un heap o montículo es un árbol binario completo y además parcialmente


ordenado, se dice que es completo porque tiene todos sus niveles llenos a
excepción del último, el último nivel contiene los nodos agrupados de izquierda a
derecha y parcialmente ordenado debido a que tiene todas y cada una de sus
ramas, consideradas como listas, totalmente ordenadas, ya sea de forma
creciente o decreciente. Es utilizado para resolver el problema de la ordenación de
elementos dentro de un vector.

3.5. Métodos de Recorrido de árboles.

Los árboles binarios son considerados como estructuras jerárquicas y como


tal su forma de recorrerlos difiere sustancialmente en comparación con las listas
enlazadas que son estructuras de datos de tipo lineal. El recorrido de un árbol
binario se refiere al proceso de visitar de una manera sistemática, exactamente
una vez, cada nodo en una estructura de datos de árbol (examinando y/o
actualizando los datos en los nodos). Tales recorridos están clasificados por el
orden en el cual son visitados los nodos. En ese orden de ideas, el recorrido de un
árbol binario se lleva a cabo en tres sentidos: Pre Orden, Post Orden e In Orden.

3.5.1. Pre Orden.

El recorrido en preorden consiste en visitar primeramente el nodo raíz,


luego se recorre el subárbol izquierdo y finalmente hacer el recorrido por el
subárbol derecho. Para cada subárbol se debe conservar el recorrido en preorden,
primero la raíz, luego la parte izquierda y posteriormente la parte derecha.

3.5.2. Post Orden.

El recorrido en postorden consiste en primer lugar en recorrer el subárbol


izquierdo, después se recorre el subárbol derecho y finalmente se visita el nodo
raíz. Para cada subárbol se debe conservar el recorrido en postorden, es decir,
primero se visita la parte izquierda, luego la parte derecha y por último la raíz.

3.5.3. In Orden.

En el recorrido en inorden primero se recorre el subárbol izquierdo, luego se


visita el nodo raíz, y por último hacemos el recorrido por el subárbol derecho. Para
cada subárbol se debe conservar el recorrido en inorden, es decir, primero se
visita la parte izquierda, luego la raíz y posteriormente la parte derecha.
CONCLUSIÓN

Luego de concluir este tema, podemos entender que un árbol se representa


con un conjunto de nodos entrelazados entre sí por medio de ramas, tiene un
nodo base que es único y se le denomina raíz, a través de la cual se puede llegar
a cualquier nodo progresando por las ramas y atravesando los sucesivos niveles
estableciendo así un camino. Un árbol como estructura de datos nos permite
almacenar una cantidad significativa de datos de forma ordenada.

Los arboles binarios son un conjunto finito de elementos llamados nodos en


la cual cada nodo puede tener a lo sumo dos hijos.

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.
ANEXOS

Árbol Partes del Árbol

Altura, Nivel y Grado de un Árbol

Árbol Binario Árbol Binario de Busqueda


Recorrido Pre Orden

Recorrido Post Orden

Recorrido In Orden

También podría gustarte