PROGRAMACIÓN LÓGICA Y FUNCIONAL         NILTON SANCHEZ          RAFAEL REYESFUNDACIÓN UNIVERSITARIA SAN MARTIN      INGENI...
ÁRBOLES   Es una extensión de una estructura de datos que imita la  forma de árbol. Está compuesta por Nodos y conexiones ...
RECORRIDOS DE UN ÁRBOL    Se llama recorrido de un árbol al proceso que permite acceder una sola vez a cada uno de los nod...
COMO RECORRER UN ÁRBOLAl visitar los nodos de un árbol existen algunas maneras útiles en las que se puedenordenar sistemát...
Recorrido en PRE-ORDEN:• Visitar el raíz• Recorrer el subárbol izquierdo en pre-orden• Recorrer el subárbol derecho en pre...
Recorrido EN-ORDEN• Recorrer el subárbol izquierdo en en-orden• Visitar el raíz• Recorrer el subárbol derecho en en-orden ...
Recorrido en POST-ORDEN• Recorrer el subárbol izquierdo en post-orden• Recorrer el subárbol derecho en post-orden• Visitar...
RECORRIDOS DEL ÁRBOL GRÁFICAMENTE        1                    2                    32              3      1              3...
Recorreremos el Árbol Siguiente:Recorrido Pre Orden (RID)El recorrido en Pre Orden del árbol es el siguiente: 15, 6, 4, 10...
Árbol N-arioUn árbol n-ario es una estructura recursiva, en la cual cada elemento tiene un númerocualquiera de árboles n-a...
Ejemplo Árbol N-arioPara el árbol n-ario de la figura:El orden del árbol es 4El orden del elemento a es 3preorden = a, b, ...
EJEMPLO CASO REALConsidere el caso de una fábrica, en la cual se quiere hacer elmodelaje de un automóvil en términos de su...
ARBOLES 2-3Son un tipo de árbol balanceado por altura (height balanced). Sedefine como un árbol en dónde todos los nodos n...
PROPIEDADES 2-3Un árbol 2-3 permite que un nodo tenga dos o tres hijos. Estacaracterística le permite conservar el balance...
PROPIEDADES 2-3Para usar estos árboles de forma eficiente en las búsquedas, hayque introducir un orden entre los elementos...
ESPECIFICACIÓNLa especificación del tipo ARBOL23 es muy similar a la de otrosárboles con una diferencia que es la definici...
EJEMPLOSA continuación se ofrecen ejemplos concretos para ilustrar elmecanismo de inserción:
Ejemplo de eliminar :Vamos a eliminar 65 de este árbol,65 es un nodo interno.65 se encuentra ahora en unaubicación no váli...
Ahora haremos lo mismopara eliminar 70 que es unnodo interno70 se encuentra ahora enuna ubicación no válida,porque vamos a...
La eliminación de la hojanos deja con un 2-3 árbolno validoCombinar para fijar losnodos del árbol
Ahora eliminamos, 100 es hoja ya se puede quitar
BIBLIOGRAFÍA•WIKIPEDIA. Árbol 2-3. {En línea}. http://es.wikipedia.org/wiki/%C3%81rbol_2-3 5 de Enero de 2012.•CUEVAS FLOR...
Upcoming SlideShare
Loading in …5
×

Sustentacion arboles

1,916 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,916
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sustentacion arboles

  1. 1. PROGRAMACIÓN LÓGICA Y FUNCIONAL NILTON SANCHEZ RAFAEL REYESFUNDACIÓN UNIVERSITARIA SAN MARTIN INGENIERIA DE SISTEMAS
  2. 2. ÁRBOLES Es una extensión de una estructura de datos que imita la forma de árbol. Está compuesta por Nodos y conexiones a hojas llamadas “hijos” que a su vez tienen “hijos” y así consecutivamente.Función: Organizar la información de manera que facilite suentendimiento, análisis y funcionamiento. Es utilizada para modelos deBases de Datos, Administración de archivos, operaciones de recorridos ycaminos simples, inteligencia artificial, entre otras operaciones.Tipos: Entre los tipos de árboles existen los árboles binarios, AVL, Rojo-Negro, AA, B,B+ o Eneários. De aquí se origina la base de los grafos.
  3. 3. RECORRIDOS DE UN ÁRBOL Se llama recorrido de un árbol al proceso que permite acceder una sola vez a cada uno de los nodos del árbol para examinar el conjunto completo de nodos.Recorrido en Profundidad: el proceso exige alcanzar las profundidades deun camino desde la raíz hacia el descendiente mas lejano del primer hijo,antes de proseguir con el segundo.Recorrido en Anchura: el proceso se realiza horizontalmente desde la raíza todos su hijos antes de pasar con la descendencia de alguno de ellos.
  4. 4. COMO RECORRER UN ÁRBOLAl visitar los nodos de un árbol existen algunas maneras útiles en las que se puedenordenar sistemáticamente los nodos de un árbol.Los ordenamientos más importantes son llamados: pre-orden, post-orden y en-orden y se definen recursivamente como sigue:Si un árbol T es nulo, entonces, la lista vacía es el listado pre-orden, post-orden y en-orden del árbol T.Si T consiste de un sólo nodo n, entonces, n es el listado pre-orden, post-orden y en-orden del árbol T.Los algoritmos de recorrido de un árbol binario presentan tres tipos de actividadescomunes:• visitar el nodo raíz• recorrer el subárbol izquierdo• recorrer el subárbol derechoEstas tres acciones llevadas a cabo en distinto orden proporcionan los distintosrecorridos del árbol.
  5. 5. Recorrido en PRE-ORDEN:• Visitar el raíz• Recorrer el subárbol izquierdo en pre-orden• Recorrer el subárbol derecho en pre-orden CÓDIGO:void preorden(tArbol *a){ if (a != NULL) { tratar(a); //Realiza una operación en nodo preorden(a->hIzquierdo); preorden(a->hDerecho); }}
  6. 6. Recorrido EN-ORDEN• Recorrer el subárbol izquierdo en en-orden• Visitar el raíz• Recorrer el subárbol derecho en en-orden CÓDIGO:void inorden(tArbol *a){ if (a != NULL) { inorden(a->hIzquierdo); tratar(a); //Realiza una operación en nodo inorden(a->hDerecho); }}
  7. 7. Recorrido en POST-ORDEN• Recorrer el subárbol izquierdo en post-orden• Recorrer el subárbol derecho en post-orden• Visitar el raíz CÓDIGO:void postorden(tArbol *a){ if (a != NULL) { postorden(a->hIzquiedo); postorden(a->hDerecho); tratar(a); //Realiza una operación en nodo }}
  8. 8. RECORRIDOS DEL ÁRBOL GRÁFICAMENTE 1 2 32 3 1 3 1 2Recorrido Preorden Recorrido Inorden Recorrido Postorden Raiz-IZQ-DER IZQ-Raíz-DER IZQ-DER-Raíz
  9. 9. Recorreremos el Árbol Siguiente:Recorrido Pre Orden (RID)El recorrido en Pre Orden del árbol es el siguiente: 15, 6, 4, 10, 20, 17, 22Recorrido En Orden(IRD)El recorrido en En Orden del árbol es el siguiente: 4, 6, 10, 15, 17, 20, 22Recorrido Post Orden(IDR)El recorrido en Post Orden del árbol es el siguiente: 4, 10, 6, 17, 22, 20, 15
  10. 10. Árbol N-arioUn árbol n-ario es una estructura recursiva, en la cual cada elemento tiene un númerocualquiera de árboles n-arios asociados. En la siguiente figura se muestra elformalismo gráfico escogido para representar este objeto abstracto. En él se haceexplícita la raíz, y cada uno de los n subárboles que tiene asociados. Un árbol vacío serepresenta con el símbolo .Los recorridos principales son:inorden( a ) = inorden( a1 ), e, inorden( a2 ), ..., inorden( an )preorden( a ) = e, preorden( a1 ), ..., preorden( an )postorden( a ) = postorden( a1 ), ...., postorden( an ), e
  11. 11. Ejemplo Árbol N-arioPara el árbol n-ario de la figura:El orden del árbol es 4El orden del elemento a es 3preorden = a, b, c, e, f, d, g, j, k, l, m, h, iinorden = b, a, e, c, f, j, g, k, l, m, d, h, ipostorden = b, e, f, c, j, k, l, m, g, h, i, d, aNiveles = a, b, c, d, e, f, g, h, i, j, k, l, mAltura = 4Peso = 13Los hijos de g son los elementos j, k, l, mEl ancestro común más próximo de k y h es d
  12. 12. EJEMPLO CASO REALConsidere el caso de una fábrica, en la cual se quiere hacer elmodelaje de un automóvil en términos de sus componentes: cadapieza debe estar relacionada con todos los elementos que laconstituyen, como se sugiere en la siguiente figura vemos que esinsuficiente un árbol binario para manejar este tipo de estructuras,ya que el número de hijos no se puede restringir a dos.
  13. 13. ARBOLES 2-3Son un tipo de árbol balanceado por altura (height balanced). Sedefine como un árbol en dónde todos los nodos no-terminalestienen 2 ó 3 descendientes y todos los nodos hoja tienen lamisma longitud (path length) o distancia desde la raíz.Fueran introducidos con el objeto de mejorar el tiempo deacceso en estructuras de datos manejadas en memoriasecundaria, en las cuales el número de consultas a un registroinfluye de manera determinante en el tiempo de respuesta de laoperación.La estructura de árbol 2-3 exige que el crecimiento no se haga anivel de las hojas (aunque la inserción sigue siendo en las hojas),sino que a nivel de la raíz, ya que todas las hojas se debenmantener siempre en el mismo nivel. El proceso global deinserción comienza por localizar la hoja en la cual se debeagregar el elemento.
  14. 14. PROPIEDADES 2-3Un árbol 2-3 permite que un nodo tenga dos o tres hijos. Estacaracterística le permite conservar el balanceo tras insertar oborrar elementos, por lo que el algoritmo de búsqueda es casitan rápido como en un árbol de búsqueda de altura mínima. Porotro lado, es mucho más fácil de mantenerlo.En un árbol 2-3, los nodos internos han de tener 2 ò 3 hijos ytodas las hojas han de estar al mismo nivel. De forma recursivase pueden definir como:A es un árbol 2-3 de altura h si:•A es un árbol vacío (un árbol 2-3 de altura 0), o•A es de la forma (r, I, D), donde r es un nodo e I y D son árboles2-3 de altura h − 1, o•A es de la forma (r, I, C, D), donde r es un nodo e I, C y D sonárboles 2-3 de altura h-1.
  15. 15. PROPIEDADES 2-3Para usar estos árboles de forma eficiente en las búsquedas, hayque introducir un orden entre los elementos por lo que un árbolA es un árbol 2-3 de búsqueda de altura h si:•Todos los elementos de I son menores que r y todos loselementos de D son mayores que r.•A es de la forma (r1, r2,I, C, D), donde r1 _ r2, I, Ac y D sonárboles 2-3 de búsqueda de altura h-1 y todos los elementos de Ison menores que r1, todos los elementos de C son mayores quer1 y menores que r2 y todos los elementos de D son mayoresque r2.•Esta definición implica que el número de hijos de un nodo essiempre uno más que el número de elementos que contiene esenodo. En el caso de las hojas se permiten uno o dos elementosen el nodo. Desde ahora nos referiremos a los árboles 2-3 debúsqueda simplemente como árboles 2-3.
  16. 16. ESPECIFICACIÓNLa especificación del tipo ARBOL23 es muy similar a la de otrosárboles con una diferencia que es la definición de tresoperaciones generadoras en lugar de dos. Árbol Vacío es laoperación que genera un árbol sin elementos, como en los otrostipos y hay una operación, consArbol, que genera un árbol 2-3cuya raíz tiene un solo elemento y dos hijos y otra, cons3Arbol,que genera un árbol 2-3 cuya raíz tiene dos elementos y treshijos. Estas dos últimas operaciones son los generadores que semantienen ocultos al usuario.
  17. 17. EJEMPLOSA continuación se ofrecen ejemplos concretos para ilustrar elmecanismo de inserción:
  18. 18. Ejemplo de eliminar :Vamos a eliminar 65 de este árbol,65 es un nodo interno.65 se encuentra ahora en unaubicación no válida, lo vamos aeliminar
  19. 19. Ahora haremos lo mismopara eliminar 70 que es unnodo interno70 se encuentra ahora enuna ubicación no válida,porque vamos a eliminarlo
  20. 20. La eliminación de la hojanos deja con un 2-3 árbolno validoCombinar para fijar losnodos del árbol
  21. 21. Ahora eliminamos, 100 es hoja ya se puede quitar
  22. 22. BIBLIOGRAFÍA•WIKIPEDIA. Árbol 2-3. {En línea}. http://es.wikipedia.org/wiki/%C3%81rbol_2-3 5 de Enero de 2012.•CUEVAS FLORES, Ricardo. Estructura y Organización de Datos. {En línea}.http://estructuradedatos09111005.blogspot.com/2011/11/arboles.html. 9 deNoviembre de 2011.•VILLALOBOS, Jorge. Diseño y Manejo de Estructuras de Datos en C. McGraw-Hill. Enero 1996.

×