You are on page 1of 13

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación


Instituto Universitario Politécnico
“Santiago Mariño”

Árboles y Pilas
Esquema

INTRODUCCIÓN

1-Arbol
1.1-Definicion
1.2-Caracteristicas
1.3-Tipos
2-Pila
2.1-Defincion
2.2-Carcateristicas
2.3-Tipos
CONCLUSIÓN
Referencias Bibliográficas
INTRODUCCION

Para resolver una problemática o para ver cómo se lleva a cabo un proceso se
deben seguir un orden específico de acciones para que este sea de una manera
óptima este es conocido como el procesamiento de datos y fue creado para convertir
los datos en información utilizable debido a que en los tiempos modernos cada vez
se necesitan que los procesos se lleven a cabo más rápido, pero sin perder su
eficacia.

Con el motivo de procesar los datos se crearon varios métodos para organizar la
información y el método en que sería analizada, entre ellos están árbol y pila los
cuales serán analizados en este caso.
Árbol

Definición

un árbol es una estructura de datos ampliamente usada que imita la forma de un


árbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se
construye el árbol y puede tener cero o más nodos hijos conectados a él. Se dice
que un nodo {a} a es padre de un nodo {b} b si existe un enlace desde {a} a hasta
{b} b (en ese caso, también decimos que {b} b es hijo de {a} a). Sólo puede haber
un único nodo sin padres, que llamaremos raíz. Un nodo que no tiene hijos se
conoce como hoja. Los demás nodos (tienen padre y uno o varios hijos) se les
conoce como rama.
Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable
sobre una colección de elementos u objetos llamados nodos; uno de los cuales
aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
cuales es conocido como raíz.

Terminología
 Raíz - El nodo superior del árbol.
 Padre - Nodo con hijos.
 Hijo - Nodo descendiente de otro nodo.
 Hermanos - Nodos que comparten el mismo padre.
 Hojas - Nodos sin hijos.
 Nivel - El nivel de un nodo está definido por el número de conexiones entre
el nodo y la raíz.

Características
 Los árboles son estructuras de datos no lineales.
 Cada elemento conocido con el nombre de NODO
 Un árbol se define como una colección de nodos donde cada uno además de
almacenar información, guarda las direcciones de sus sucesores.
 Se conoce la dirección de uno de los nodos, llamado raíz y a partir de él se
tiene acceso a todos los otros miembros de la estructura.
 Grafos, anidación de paréntesis y diagramas de venn.
 Hijo: Es aquel nodo que siempre va a tener un nodo antecesor o padre, son
aquellos que se encuentran en el mismo nivel
 Padre: Es aquel que tiene hijos y también puede tener o no antecesores.
 Hermano: Dos nodos son hermanos si son apuntados por el mismo nodo, es
decir si tienen el mismo padre.
 Raíz: Es el nodo principal de un árbol y no tiene antecesores.
 Hoja o terminal: Son aquellos nodos que no tienen hijos o también los nodos
finales de un árbol.
 Interior: Se dice que un nodo es interior si no es raíz ni hoja.
 Nivel de un nodo: Se dice que el nivel de un nodo es el número de arcos que
deben ser recorridos, partiendo de la raíz para llegar hasta él.
 Altura del árbol: Se dice que la altura de un árbol es el máximo de los niveles
considerando todos sus nodos.
 Grado de un nodo: se dice que el grado de un nodo es el número de hijos
que tiene dicho nodo.
 Todo árbol que no es vacío, tiene un único nodo raíz.
 Un nodo X es descendiente directo de un nodo Y, si el nodo X apunta al nodo
Y. X es hijo de Y.
 Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y.
X es el padre de Y.
 Se dice que todos los nodos que son descendientes directos
 (hijos) de un mismo nodo (padre), son hermanos.
 Todo nodo que no tiene ramificaciones (hijos) se conoce con el nombre de
terminal u hoja.
 Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de
interior
Tipos de árboles

Árboles Binarios

Un árbol binario es un árbol en el que ningún nodo puede tener más de dos
subárboles. En un árbol binario, cada nodo puede tener cero, uno o dos hijos
(subárboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la
derecha como hijo derecho.

Árbol binario perfectamente equilibrado


Si para cada nodo el número de nodos en el subárbol izquierdo y el número de
nodos en el subárbol derecho, difiere como mucho en una unidad.
Hay que tener en cuenta todos los nodos del árbol.

Árbol binario completo


Es un árbol binario con hojas como máximo en los niveles n-1 y n (Siendo n el nivel
del árbol)
Los dos árboles graficados son completos porque son árboles de nivel 3 y hay nodos
hoja en el nivel 3 en el primer caso, y hay nodos hoja en los niveles 3 y 2 en el
segundo caso.

Árbol binario de búsqueda


Si para cada nodo del árbol, los nodos ubicados a la izquierda son inferiores al que
consideramos raíz para ese momento y los nodos ubicados a la derecha son
mayores que la raíz.

Arboles B

La idea tras los árboles-B es que los nodos internos deben tener un número
variable de nodos hijo dentro de un rango predefinido. Cuando se inserta o se
elimina un dato de la estructura, la cantidad de nodos hijo varía dentro de un nodo.
Para que siga manteniéndose el número de nodos dentro del rango predefinido, los
nodos internos se juntan o se parten.

Dado que se permite un rango variable de nodos hijo, los árboles-B no necesitan
re balancearse tan frecuentemente como los árboles binarios de búsqueda auto-
balanceables. Un árbol-B se mantiene balanceado porque requiere que todos los
nodos hoja se encuentren a la misma altura. Los árboles B tienen ventajas
sustanciales sobre otras implementaciones cuando el tiempo de acceso a los nodos
excede al tiempo de acceso entre nodos. Este caso se da usualmente cuando los
nodos se encuentran en dispositivos de almacenamiento secundario como los
discos rígidos.

Al maximizar el número de nodos hijo de cada nodo interno, la altura del árbol
decrece, las operaciones para balancearlo se reducen, y aumenta la eficiencia.
Usualmente este valor se coloca de forma tal que cada nodo ocupe un bloque de
disco, o un tamaño análogo en el dispositivo.
Ejemplo

Árbol-B+

En ciencias de la computación, un árbol B+ es un tipo de estructura de datos de


árbol, representa una colección de datos ordenados de manera que se permite una
inserción y borrado eficientes de elementos. Es un índice, multinivel, dinámico, con
un límite máximo y mínimo en el número de claves por nodo. Un árbol B+ es una
variación de un árbol B.

En un árbol B+, toda la información se guarda en las hojas. Los nodos internos
sólo contienen claves y punteros. Todas las hojas se encuentran en el mismo nivel,
que corresponde al más bajo. Los nodos hoja se encuentran unidos entre sí como
una lista enlazada para permitir principalmente recuperación en rango mediante
búsqueda secuencial.

Árbol-B*

Un árbol-B* es una estructura de datos de árbol, una variante de Árbol-B utilizado


en los sistemas de ficheros HFS y Reiser4, que requiere que los nodos no raíz estén
por lo menos a 2/3 de ocupación en lugar de 1/2. Para mantener esto los nodos, en
lugar de generar inmediatamente un nodo cuando se llenan, comparten sus claves
con el nodo adyacente.
No se debe confundir un árbol-B* con un árbol-B+, en el que los nodos hoja del
árbol están conectados entre sí a través de una lista enlazada, aumentando el coste
de inserción para mejorar la eficiencia en la búsqueda.

Árbol Multicamino
Un árbol multicamino posee un grado g mayor a dos, donde cada nodo de
información del árbol tiene un máximo de g hijos. Existen muchas aplicaciones en
las que el volumen de la información es tal, que los datos no caben en la memoria
principal y es necesario almacenarlos, organizados en archivos, en dispositivos de
almacenamiento secundario.
Ejemplo
Pila

Definición
Una pila (stack en inglés) es una lista ordenada o estructura de datos en la que el
modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último
en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura
se aplica en multitud de ocasiones en el área de informática debido a su simplicidad
y ordenación implícita de la propia estructura.

Características
1- Evaluación de expresiones en notación postfija (notación polaca inversa).
2- Reconocedores sintácticos de lenguajes independientes del contexto.
3- Implementación de recursividad.
Operaciones
Una pila cuenta con 2 operaciones imprescindibles: apilar y desapilar, a las que en
las implementaciones modernas de las pilas se suelen añadir más de uso habitual.

Crear: se crea la pila vacía. (constructor)


Tamaño: regresa el número de elementos de la pila. (size)
Apilar: se añade un elemento a la pila. (push)
Desapilar: se elimina el elemento frontal de la pila. (pop)
Cima: devuelve el elemento que está en la cima de la pila. (top o peek)
Vacía: devuelve cierto si la pila está sin elementos o falso en caso de que contenga
uno. (empty).

Tipos
FIFO (First Input - First Output (Primero en entrar, primero en salir):
El tipo de salida FIFO sería como la manera rutinaria que siguen las colas, es decir
que van saliendo en el orden que llegaron. Un ejemplo cotidiano es: En una cola en
el banco, en el que la primera persona que llego a hacer ya sea una transferencia o
a depositar, es la primera persona que va a salir.
LIFO (Last Input- First Output (Ultimo en entrar, primero en salir))
Este caso en particular es el que se hace reconocer las pilas, ya que es la forma
más fácil de explicar cómo funciona una. Un ejemplo cotidiano seria al momento de
lavar los platos, en el que, al tener los platos apilados, el ultimo plato que nosotros
introducimos a la pila, es el primero que va a ser lavado. por lo cual es el primero
que va a salir.

PUSH (Empujar o presionar):

Se le puede definir como la acción en sí de insertar un nuevo valor o elemento a la


lista.
CONCLUSIÓN

Existen varios métodos para organizar y procesar los datos con el fin de convertirlos
en información, pero entre los destacados están el árbol por su efectividad al buscar
un dato especifico previamente ingresado y pila por la rapidez para organizar los
datos gracias a sus tres métodos (LIFO, FIFO, PUSH).

También se puede apreciar que estos modelos no solo son aplicados en la parte de
computación o programación específicamente, sino que ellos son llevados a la vida
cotidiana como por ejemplo con el árbol genealógico de cada familia o una pila de
platos.
Referencias Bibliográficas

Páginas Web Consultadas:

http://www.tutorialesprogramacionya.com/javaya/detalleconcepto.php?codigo=125
&punto=&inicio=
https://es.wikipedia.org/wiki/%C3%81rbol_binario_de_b%C3%BAsqueda
http://es.slideshare.net/favi_hola/arboles-binarios-8242633
http://www.iuma.ulpgc.es/users/jmiranda/docencia/programacion/Tema4_ne.pdf
http://c.conclase.net/edd/?cap=002
http://es.slideshare.net/diwal10/pilas-colas-y-listas-estructura-de-datos
http://www.sites.upiicsa.ipn.mx/polilibros/portal/polilibros/p_terminados/PolilibroF
C/Unidad_IV/Unidad%20IV_5.htm