Diapositiva de prueba

460 views
297 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
460
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Diapositiva de prueba

  1. 1. ARBOL • Los árboles representan estructuras dinámicas de datos, debido a que pueden cambiar en tiempo de ejecución y no lineales puesto que a cada elemento del árbol pueden seguirle varios elementos.
  2. 2. ÁRBOLES • Un árbol es una estructura jerárquica aplicada sobre una colección de elementos u objetos llamados nodos; uno de los cuales es conocido como raíz. Además se crea una relación de parentesco entre los nodos dando lugar a términos como padre, hijo, hermano, antecesor, sucesor, ancestro,etc. • Formalmente se define un árbol de tipo T como una estructura homogénea que es la concatenación de un elemento de tipo T con un número finito de arboles disjuntos llamados subárboles.
  3. 3. FORMAS DE REPRESENTACION DE UN ÁRBOL A C B E G H F D I J K L Diagramas de Venn (A (B (D ( I ), E, F (J, K )), C (G, H ( L )))) Anidación de paréntesis
  4. 4. APLICACIONES A B D I C E G F J K H L Los árboles tienen una gran variedad de aplicaciones. Para construir un árbol genealógico, para el análisis de circuitos eléctricos y para numerar los capítulos y secciones de un libro. Gráficamente puede representarse una estructura de diferentes formas y todas ellas equivalentes. Por medio de grafos, esta última representación es la que comúnmente se utiliza; y ha originado el término árbol por su parecido abstracto con el vegetal (raíz, ramas, hojas).
  5. 5. CARACTERÍSTICAS Y PROPIEDADES DE LOS ÁRBOLES a) b) c) d) e) f) g) h) i) 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 es apuntado por el nodo Y. En este caso es común utilizar la expresión X es hijo de Y. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. En este caso es común utilizar la expresión X es 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. 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. NIVEL es el número de arcos que deben ser recorridos para llegar a un determinado nodo. Por definición, la raíz tiene en nivel 1. ALTURA del árbol es el máximo número de niveles de todos los nodos del árbol.
  6. 6. Ejemplo: ÁRBOL GENERAL. Dado el árbol general de la figura de abajo, se hacen sobre él las siguientes consideraciones. A B D I C E G F J K H L 1.- A es la raíz del árbol. 2.- B es hijo de A. C es hijo de A. D es hijo de B. E es hijo de B. L es hijo de H. 3.- A es padre de B. B es padre de D. D es padre de I. C es padre de G. H es padre de L. 4.- B y C son hermanos. D,E y F son hermanos. G y H son hermanos. J y K son hermanos. 5.- I, E, J, K, G y L son nodos terminales u hojas. 6.- B, D, F, C y H son nodos interiores. 7.- El grado del nodo A es 2. B es 3. C es 2. D es 1. E es 0. El grado del árbol es 3. 8.- El nivel del nodo A es 1. B es 2. D es 3. C es 2. L es 4. 9.- La altura del árbol es 4.
  7. 7. LONGITUD DE CAMINO (LC) • Se define la longitud de camino X como el número de arcos que deben ser recorridos para llegar desde la raíz al nodo X. por definición la raíz tiene longitud de camino 1, sus descendientes directos 2… • Por ejemplo el nodo I tiene una longitud de camino igual a 4
  8. 8. LONGITUD DE CAMINO INTERNO (LCI) LONGITUD DE CAMINO • Es la suma de las longitudes de camino de todos los nodos del árbol, y se calcula por medio de la siguiente fórmula. h LC I i= nivel del árbol i 1 h= altura del árbol Ni = número de nodos en el nivel i ni * i
  9. 9. LONGITUD DE CAMINO INTERNO (LCI) LONGITUD DE CAMINO Ejemplo A B D I i= nivel del árbol h= altura del árbol ni = número de nodos en el nivel i C E G F J K H L LCI = 1x1 + 2x2 + 5x3 + 4x4 LCI= 36
  10. 10. MEDIA DE LONGITUD DE CAMINO INTERNO LONGITUD DE CAMINO • La media del longitud de camino se calcula con la siguiente formula LCIM = LCI /N LCIM= media de longitud de camino interno N = número de nodos A B LCIM = 36/12 LCIM= 3 D I C E G F J K H L
  11. 11. LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO • ARBOL EXTENDIDO Es aquel en el que el número de hijos de cada nodos es igual al grado del árbol En caso de que algún nodo no cumpla con esta condición se debe incorporar al mismo tantos nodos especiales como se requiera. • NODOS ESPECIALES Tienen como objetivo: – Remplazar las ramas vacías o nulas – No pueden tener descendientes – Se representa en forma de cuadrado.
  12. 12. LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO A B D I C E G F J K Árbol extendido H L Árbol general El número de nodos especiales de este árbol es 25.
  13. 13. LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO • Es la sumatoria de las longitudes de camino de todos los nodos especiales del árbol y se calcula con la siguiente formula DONDE: h 1 h= ALTURA i = NIVEL i Ne= NODO ESPECIAL i 2 LC E ne * i
  14. 14. LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO • • • h= altura i = nivel del árbol Ne= numero de nodos especiales en el nivel i LCE= 1x2 + 1x3+11x4+12x5 LCE =109
  15. 15. MEDIA DE LONGITUD DE CAMINO EXTERNO(LCE) LONGITUD DE CAMINO • LA MEDIA DE LA LONGITUD DE CAMINO EXTERNO se calcula dividiendo el LCE, para el número de nodos especiales. LCEM= LCE/Ne LCE= 109 Ne= 25 LCEM = 109/25=4.36
  16. 16. ÁRBOLES BINARIOS Es una estructura ordenada, en el cual cada nodo puede tener como máximo dos subárboles conocidos como subárbol izquierdo y subárbol derecho, dependiendo de su ubicación con respecto a la raíz
  17. 17. EJEMPLOS ÁRBOLES BINARIOS • Árboles de búsquedas 27 14 7 57 59 32 11 50 77
  18. 18. EJEMPLOS ÁRBOLES BINARIOS Árbol genealógico Pedro mamá abuelo papá abuela abuelo abuela
  19. 19. EJEMPLOS ÁRBOLES BINARIOS Árboles que representa expresiones matemáticas (a*b)+{(c÷d) ᶺ 3} + ᶺ * a b c 3 ÷ d
  20. 20. TIPOS DE ÁRBOLES BINARIOS ÁRBOLES BINARIOS ÁRBOLES BINARIOS DISTINTOS Estructura y distribución de arcos diferentes a. b. 27 27 14 14 57 57 7 7 11 11
  21. 21. TIPOS DE ÁRBOLES BINARIOS ÁRBOLES BINARIOS ÁRBOLES BINARIOS SIMILARES Estructura idénticas e información de nodos diferentes b. a. 27 14 7 27 0 14 7 1 11 57
  22. 22. TIPOS DE ÁRBOLES BINARIOS ÁRBOLES BINARIOS ÁRBOLES BINARIOS EQUIVALENTES Estructura idénticas e información de nodos iguales b. a. 27 14 7 27 57 14 7 11 11 57
  23. 23. TIPOS DE ÁRBOLES BINARIOS Ejemplos: ÁRBOLES BINARIOS Árboles binarios distintos: ……………….. Árboles binarios similares: ……………….. Árboles binarios equivalentes: …………..
  24. 24. ÁRBOLES BINARIOS COMPLETOS ÁRBOLES BINARIOS Árbol binario completo(ABC), es aquel en el cual todos sus nodos excepto los del ultimo nivel tiene dos hijos
  25. 25. ÁRBOLES BINARIOS COMPLETOS ÁRBOLES BINARIOS CÁLCULO DEL NÚMERO DE NODOS. Números de nodos(ABC)=2h -1 h= altura del árbol Números de nodos(ABC)=24 -1 Números de nodos(ABC)=15
  26. 26. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOS • Enlazar los hijos de cada nodo en forma vertical
  27. 27. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOS • Enlazar los nodos hermanos en forma horizontal
  28. 28. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOS
  29. 29. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS ÁRBOLES BINARIOS • Girar aproximadamente 45 grados
  30. 30. ASPECTOS IMPORTANTES ÁRBOLES BINARIOS • Si la rama derecho de cada nodo excepto el nodo raíz es diferente de vacío, se encuentra un nodo que era hermano en el árbol general. – 5 hermano de 4 – 6 hermano de 2 – 11 hermano de 5 • Si la rama izquierda de cada nodo excepto el nodo raíz es diferente de vacío, se encuentra un nodo que era hijo en el árbol general. – 5 hermano de 6 – 2 hermano de 7 – 4 hermano de 9
  31. 31. ASPECTOS IMPORTANTES ÁRBOLES BINARIOS • Si la rama izquierda de cada nodo excepto el nodo raíz es diferente de vacío, se encuentra un nodo que era hijo en el árbol general. – 5 hijo de 6 – 9 hijo de 5 – 4 hijo de 9
  32. 32. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS Ejemplo ÁRBOLES BINARIOS
  33. 33. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS Ejemplo: ÁRBOLES BINARIOS
  34. 34. REPRESENTACIÓN DE ÁRBOLES GENERALES COMO BINARIOS Ejemplo: ÁRBOLES BINARIOS
  35. 35. RECORRIDOS EN ÁRBOLES BINARIOS RECORRIDOS Recorrido en preorden • Visitar la raíz • Recorrer el subárbol izquierdo • Recorrer el subárbol derecho Recorrido en inorden • Recorrer el subárbol izquierdo • Visitar la raíz • Recorrer el subárbol derecho Recorrido en postorden • Recorrer el subárbol izquierdo • Recorrer el subárbol derecho • Visitar la raíz
  36. 36. RECORRIDOS EN ÁRBOLES BINARIOS Ejemplos: Recorrido en preorden 104,71,17,3,18,19,240,108,110, 245 Recorrido en inorden 3,17,18 ,71 ,19, 104 , 108, 110 240, 245 Recorrido en postorden 3 18 17 19 71 110 108 245 240 104
  37. 37. RECORRIDOS EN ÁRBOLES BINARIOS Ejemplos: Recorrido en preorden: Recorrido en inorden: Recorrido en postorden:
  38. 38. ÁRBOLES DE BINARIOS DE BÚSQUEDA Formalmente se define un árbol binario de búsqueda de la siguiente manera: Para todo nodo T del árbol se debe cumplir que todos los valores almacenados en el subárbol izquierdo de T sean menores o iguales a la información guardada en el nodo T. De forma similar, todos los valores almacenados en el subárbol derecho de T deben ser mayores o iguales a la información guardada en el nodo T
  39. 39. OPERACIONS CON ÁRBOLES BINARIOS INSERCIÓN 1. Comparar la clave a insertar con la raíz del árbol. Si es mayor, se sigue con el subárbol derecho. Si es menor, se continúa con el subárbol izquierdo. 2. Repetir sucesivamente el paso 1 hasta que se cumpla alguna de las siguientes condiciones: a. El subárbol derecho, o el subárbol izquierdo, es igual a vacío, en cuyo caso procederá a insertar el elemento en el lugar que le corresponde. b. La clave que se quiere insertar está en el nodo analizado, por lo tanto no se lleva a cabo la inserción. Este caso es válido sólo cuando la aplicación exige que no se repitan elementos.
  40. 40. OPERACIONS CON ÁRBOLES BINARIOS Insertar los siguientes datos: 15, 5,17,3,16,8,21,6,25,11,13 INSERCIÓN
  41. 41. OPERACIONS CON ÁRBOLES BINARIOS INSERCIÓN Ejemplo: Insertar los elementos 120-87-43-65-140-99-130-22-56
  42. 42. OPERACIONS CON ÁRBOLES BINARIOS Ejemplo: INSERCIÓN
  43. 43. OPERACIONS CON ÁRBOLES BINARIOS BÚSQUEDA La operación de búsqueda consiste en lo siguiente. Comparar el valor buscado con la informara del nodo visitado, si no es igual, se deberá continuar sólo por alguno de los dos subárboles les.
  44. 44. OPERACIONS CON ÁRBOLES BINARIOS ELIMINACIÓN En la eliminación de un árbol binario de búsqueda , se deben distinguir los siguientes casos: 1. Si el elemento a eliminar es terminal u hoja, simplemente se suprime redefiniendo el puntero de su predecesor. 2. Si el elemento a eliminar tiene un solo descendiente, entonces tiene que sustituirse por ese descendiente. 3. Si el elemento a eliminar tiene los dos descendientes, entonces se tiene que sustituir por el nodo que se encuentra más a la izquierda en el subárbol derecho o por el nodo que se encuentra más a la derecha en el subárbol izquierdo.
  45. 45. Bibliografía Osvaldo, C. (2002). Estructuras de Datos. México: McGRAW-HILL.

×