arboles m-way, 2-3 y 2-3-4
TRANSCRIPT
ARBOLESM-WAY, 2-3 y 2-3-4
Autor:
Daniel Gomez Jaramillo
CONTENIDO
1. Introducción
2. Descripción de los arboles.
I. Ventajas y desventajas.
II. Funcionamiento
III. Complejidad computacional
IV. Aplicaciones y usos en la actualidad
3. Conclusiones
4. Bibliografía.
INTRODUCCIÓN
Los arboles son estructuras de datos no lineales
Tiene la característica que sus elementos se pueden recorrer de distintas formas,
no necesariamente uno detrás de otro
Estos resultan muy útiles para la búsqueda y recuperación de información
VENTAJAS Y DESVENTAJAS
VENTAJAS
• Almacena los datos de una forma rápida yeficiente.
• Excelente para la búsqueda, esta siempre esinmediata, ya que los datos se vaningresando de forma ordenada.
DESVENTAJAS
• La implementación puede llegar a sercompleja.
DESCRIPCIÓN ARBOL M - WAY
Los arboles multicamino, o m-way son una generalización de los arboles binarios, que pueden almacenar m-1
claves, y tener m hijos. Este es un árbol lleno y balanceado, todas sus hojas se encuentran en el mismo nivel.
El orden de este tipo de árbol es m, por lo cual posee un máximo de m ramas, y un minio de m/2; además
que puede almacenar un total de m-1 claves, con lo cual un árbol binario es un tipo especial de árbol m-way
con m=2.
Este tipo de árbol es especialmente útil para sistemas de archivos y para el manejo de sistemas de bases de
datos, ya que permiten almacenar grandes cantidades de datos.
Una característica muy importante de este tipo de árbol es que los valores se guardan en orden ascendente
DESCRIPCIÓN DEL ARBOL 2-3
Se define como un árbol en dónde todos los nodos no-terminales tienen 2 o 3 descendientes y todos los
nodos hoja tienen la misma longitud o distancia desde la raíz.
Fueron introducidos con el objetivo de mejorar el tiempo de acceso en estructuras de datos manejados en
memoria secundaria, donde el número de consultas a un registro influye de manera determinante en el
tiempo de respuesta de la operación.
Un árbol 2-3 permite que un nodo tenga dos o tres hijos. Esta característica le permite conservar el balanceo
tras insertar o borrar elementos.
En un árbol 2-3, los nodos internos han de tener 2 ò 3 hijos y todas las hojas han de estar al mismo nivel.
DESCRIPCIÓN ÁRBOL 2-3-4
Un árbol 2-3-4 es una extensión del árbol 2-3, con la diferencia que todos los nodos del árbol pueden tener
un máximo de 4 hijos, y cumplen con las siguientes características.
Cada nodo interno es un nodo 2-3-4.
Un nodo 2 tiene 1 elemento
Un nodo 3 tiene 2 elementos
Un nodo 4 tiene 3 elementos
EJEMPLOS DE ARBOL 2-3-4
Metodología a seguir:
Los nuevos elementos se insertan siempre en las hojas.
Se atraviesa el árbol hacia abajo hasta encontrar la hoja donde insertar.
Dependiendo de si encontramos nodos llenos tenemos 3 casos:
1. Inserción sin subdividir nodos
2. Inserción subdividiendo nodos
3. Inserción subdividiendo la raíz
Queremos insertar de una sola pasada, por tanto cada nodo que encontremos lleno lo subdividimos.
1. Inserción sin subdividir nodos
No encontramos nodos llenos en el camino de la raiz a la hoja: insertamos 18 en el siguiente árbol.
2. Inserción subdividiendo nodos :
Cuando encontramos un nodo lleno en el camino de la raiz a la hoja: insertamos el 99.
3. Inserción subdividiendo la raíz.
Esto ocurre cuando nos encontramos la raíz llena. Dividimos la raíz (cuatro hijos) en 3 nodos de dos hijos
cada uno. Insertamos 41.
Generar un árbol 2-3-4 con la secuencia:
70, 50, 30, 40, 20, 80, 25, 90, 75, 10 RESULTADO
APLICACIONES Y USOS EN LA ACTUALIDAD
Una de las muchas aplicaciones que tienen estos tipos de arboles y que a muchos nos interesaría,
encontramos a la teoría de Compiladores, durante la fase de análisis del código fuente, los analizadores
léxico, sintáctico y semántico utilizan tablas de símbolos, en donde se almacenan las palabras clave y las
palabras reservadas y sus atributos, implementadas (por lo general) como árboles M-Way.
Otro ejemplo de la utilización de árboles de este tipo son los diccionarios. A partir de una palabra, se
realiza una búsqueda en el árbol para saber si está incluida en el conjunto, y si existe, se obtienen sus
datos asociados (por ejemplo, si es un verbo, un sustantivo, un artículo, etc.).
CONCLUSIONES
La principal ventaja de este tipo de árbol es su eficiencia en el tiempo de ejecución. Este tipo de arboles en
el peor caso tienen una complejidad de 𝑙𝑜𝑔2 𝑛 + 1 y en un caso promedio tienen 𝑙𝑜𝑔3 𝑛 + 1 para la
inserción, para las búsquedas, este es de log(n).
Concluyendo, decimos que para estos tipos de arboles es
conveniente usarlo cuando se trate de elementos no repetidos, a
demás si lo que se desea es acceder a los datos de una forma
eficiente y eficaz, sin duda alguna estos arboles servirán para dicho
propósito.
¡¡ GRACIAS !!
Programación II: Estructura de Datos y Análisis de Algoritmos.