Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Estructuras de Datos Ii - Árboles N Arios PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

ESTRUCTURAS DE DATOS II –

ÁRBOLES N-ARIOS

Profesor:
MSc. Jhon Eder Masso Daza

Programa Ingeniería de Sistemas


Universidad del Cauca
Árboles N Arios
• Definición:
▫ Un árbol n-ario es una estructura recursiva, en la cual
cada elemento del árbol puede tener asociado
múltiples subárboles, es decir cada nodo del árbol
puede tener asociado entre 0 y n hijos.
▫ Para tal efecto, el nodo de un árbol n-ario tiene dos
atributos. Uno hace referencia a los datos y el otro a
una lista de objetos los cuales contienen las referencias
a los hijos de ese nodo.
▫ La diferencia de los árboles n-arios con los ABB radia
en que ésta estructura puede manejar múltiples
subárboles asociados a cada elemento y no solamente
dos como sucede en los ABB.
Árboles N Arios

Nodo Árbol N-ario

Nodos 0
Elemento
Hijos 1
.
. Lista de Nodos
. Hijos del Árbol
public class Nodo <T> { .
private T elemento;
: :
public ArrayList nodosHijos= new ArrayList();
……………. n
…………….
}
Árboles N Arios
Lista de Nodos Hijos
del Árbol

5
5 12 14 16 Null

12 14 16 12 22 26 29 Null

14 Null

16 46 Null

22 Null
22 26 29 46 26 Null

29 Null

46 Null
Dato Enlace
Estructura de un Nodo

Lista Enlazada
Árboles N Arios
• Definición recursiva: Un árbol N-ario es un
conjunto no vacio de nodos del mismo tipo tal que:
1. Existe un elemento el cual será la raíz del árbol.
2. Los elementos del árbol se distribuyen en
subárboles del mismo tipo del árbol original que a
su vez cada uno de ellos podrán tener un árbol n-
ario.
Árboles N Arios
• Conceptos que se aplican de
5 árboles binarios:
• Nodo: elemento del árbol.
12 14 16 • Raíz: nodo inicial del árbol.
• Hoja: nodo sin hijos.
• Camino: nodos entre dos
elementos incluyéndolos.
22 26 29 46 • Rama: camino entre la raíz y una
hoja.

• Altura: Es el máximo número de niveles de todos los nodos del árbol.


El cual equivale al nivel más alto de los nodos más uno.
• Peso: número de nodos en el árbol.
• Grado: Es el número de descendientes directos de un determinado
nodo.
• Grado de árbol: Es el máximo grado de todos los nodos del árbol.
Árboles N Arios
• Elementos a considerar en Arboles N-Arios
• La funcionalidades:
▫ Crear un árboln-ario (Árbol n, Elemento e, lista Hijos)
– /*Construye el árbol n-ario “n”, con raíz “e” y una lista de
subárboles hijos asociados a “e”*/
▫ raizárboln-ario (Árbol n):elemento
– /*Retorna la raíz del árbol n-ario “n”*/
▫ hijosárboln-ario (Árbol n):lista
– /*Retorna los hijos del árbol n-ario “n”*/
▫ vacioárboln-ario (Árbol n):boolean
– /*Retorna true si el árbol n-ario “n” esta vacio y false si es
lo contrario*/
Árboles N Arios

• Otros elementos a considerar en Arboles N-


Arios
▫ Los recorridos (preorden, inorden, postorden y niveles)
▫ Verificar si un nodo es hoja, la altura del árbol.
▫ Etc.

• Elementos a considerar en la Lista[elementos]


▫ Crear la lista, adicionar la lista, eliminar la lista,
información de la lista, vaciar la lista, longitud de la lista,
destruir la lista, reemplazar la lista y buscar en la lista.
Árboles N Arios
• Recorridos en un árbol N-ario
▫ Preorden: Visitar la raíz y para los hijos haga un
recorrido en preorden (orden previo o prefijo).

12 14 16

22 26 29 46

▫ Salida: 5,12,22,26,29,14,16,46
Árboles N Arios
• Recorridos en un árbol N-ario
▫ Inorden: Visitar en inorden al primer hijo del árbol,
visitar la raíz y haga un recorrido inorden (simétrico o
infijo) al resto de hijos del árbol.
5

12 14 16

22 26 29 46

▫ Salida: 22,12,26,29,5,14,46,16
Árboles N Arios
• Recorridos en un árbol N-ario
▫ Postorden: Realice un recorrido en postorden (orden
posterior o postfijo) a todos los elementos hijos del
árbol y finalmente visite la raíz.
5

12 14 16

22 26 29 46

▫ Salida: 22,26,29,12,14,46,16,5
Otras Estructuras de árboles recursivas:
• Árbol 2-3: Es un árbol de Búsqueda multivía, en el que cada
nodo tiene dos elementos (a esto se le denomina un
nodo-2) o tres hijos (a esto se le denomina un nodo-3).
• Cumple las condiciones de los ABB.
• Cabe notar que este nodo-2 tiene un elemento y puede tener 2
hijos o ninguno, pero no puede tener simplemente un único
hijo.
• Con respecto al nodo-3 contiene 2 elementos, uno designado
para el menor y el otro al mayor. Un nodo-3 puede tener tres
hijos o ninguno. 45

30 60 82

22 25 ,30 51 55 75 87
Otras Estructuras de árboles recursivas:
• Árbol 2-3:
Inserción
• Caso 1: Cuando la raíz del árbol es vacía entonces la primera clave a
ingresar se ubica en la raíz.
• Caso 2: Cuando un nodo 2, es decir un nodo que contienen un solo
elemento, en este caso se procede a comparar la clave a ingresar con
el elemento existente en el árbol, según sea el caso se realizará la
ubicación.
• Caso 3: Cuando es un nodo 3, es decir cuando el nodo tienen dos
elementos, se compara el elemento a ingresar con los existentes.
▫ Caso 3.1: La clave a ingresar es menor de todo, si es así se colocará
el valor del medio como nueva raíz y se crea un nuevo nivel en el
árbol.
▫ Caso 3.2: La clave a ingresar es mayor de todos, si es así se colocará
el valor del medio como nueva raíz y se crea un nuevo nivel en el
árbol.
▫ Caso 3.3: La clave a ingresar es el valor medio, si es así este será el
valor a colocar como nueva raíz y se crea un nuevo nivel en el árbol.
Otras Estructuras de árboles recursivas:
• Árbol 2-3:

Ejercicios
1. 21,5,6,7,1,65,12,11,4,9
2. 3,15,2,64,5,13,2,50,49,1,6
3. 98,89,3,23,22,37,87,83,14,34,24,62,35,45,69,57
4. 6,73,49,2,13,46,75,49,8,65,4,3,21,87,65,1,20,9
5. 63, 28,48,27,71,51,92,69,38,74,55,62,97,30,15,28
Otras Estructuras de árboles recursivas:
• Árboles 2-4: Es similar a un árbol 2-3, amplia los
conceptos de su antecesor. Es un árbol de Búsqueda
multivía.
• Aparece el concepto de nodo-4, el cual puede contener
tres elementos y puede tener cuatro hijos o ninguno.
• Aplica los mismo conceptos de los ABB.

15 25 60

3 14 22 40 55 99
Otras Estructuras de árboles recursivas:
• Árboles B : Árbol n-ario ordenado y balanceado.
• Generaliza las propiedades de los árboles 2-3 y 2-4, de
tal modo que los nodos pueden tener un número
máximo arbitrario de elementos.
• Tienen las siguientes propiedades:
▫ La raíz tienen al menos 2 subárboles, a menos de que ella
sea una hoja.
▫ Para un árbol B de orden k, todas las hojas se encuentran al
mismo nivel.
▫ Todos los nodos internos, excepto la raíz , tienen por lo
menos ( k+1)/2 subárboles asociados no vacíos.
▫ El número de elementos de un nodo interno es uno menos
que el número de subárboles asociados.
Otras Estructuras de árboles recursivas:
• Ejemplo de un árbol B de orden 5.

Nodo-5

4 17 23 56

0 1 7 15 18 19 24 29 72 80

Hojas del árbol


Otras Estructuras de árboles recursivas:
• Árboles B+ : Árbol n-ario ordenado y balanceado.
• Los árboles B+ son una mejora al árbol B; Este tipo de
árbol permite conservar la propiedad de acceso aleatorio
rápido y además un recorrido secuencial.
• En un árbol B+ todas las claves se encuentran en hojas,
duplicándose en la raíz y nodos interiores aquellas que
resulten necesarias para definir los caminos de
búsqueda.
• Los árboles B+ ocupan algo más de espacio que los
árboles B ya que existe duplicidad en algunas de sus
claves.
Otras Estructuras de árboles recursivas:
• Ejemplo de un árbol B+ de orden 5.

Nodo-5

4 17 23 56

0 1 4 7 15 17 18 19 23 24 29 56 72 80

Lista enlazada de hojas

También podría gustarte