1 / 77

Asignatura: Estructura de Datos Avanzada Tema: rboles

Tema 3:

albert
Télécharger la présentation

Asignatura: Estructura de Datos Avanzada Tema: rboles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    3. Tema 3: rboles

    4. Bibliografa

    5. Objetivos Conozcan las estructuras de datos arbreas y las formas de trabajar con ellas en la solucin de problemas de mediana complejidad

    6. Introduccin Estructuras de datos estudiadas: Listas lineales y sus variantes. Las relaciones entre los nodos de informacin son lineales. Todos los nodos tienen un nico antecesor, excepto el primero que no tiene antecesor. Todos los nodos tienen un nico sucesor, excepto el ltimo que no tiene sucesor.

    7. Introduccin Qu estructura de datos se debe utilizar para representar estructuras jerrquicas o taxonmicas?

    8. Definicin de rbol Un rbol (tree) es un T.D.A. que consta de un conjunto finito T de nodos y una relacin R (paternidad) entre los nodos tal que:

    9. Definicin de rbol Si n es un nodo y A1, A2, A3, A4, A5, , Ak son rboles con races n1, n2, n3, n4,, nk . Se puede construir un nuevo rbol haciendo que n se constituya en padre de los nodos n1, n2, n3, n4,, nk. En dicho rbol, n es la raz y A1, A2, A3, A4, A5, , Ak son los subrboles de la raz. Los nodos n1, n2, n3, n4,, nk reciben el nombre de hijos del nodo n.

    10. Aclaraciones Si el conjunto finito T de nodos del rbol es vaco, entonces se trata de un rbol vaco. En esta estructura existe slo un nodo sin padre, que es la raz del rbol. Todo nodo, a excepcin del nodo raz, tiene uno y slo un padre. Los subrboles de un nodo son llamados hijos.

    11. Ejemplos

    12. Aclaraciones Para todo nodo k, distinto de la raz, existe una nica secuencia de la forma: k0, k1, k2, k3, ..., kn, donde k0=raz y kn=k Con n >= 1, donde. ki es el sucesor de ki-1, para 1 <= i <= n, o sea, cada nodo ki de la secuencia es la raz de otro subrbol.

    13. Ejemplos

    14. Otras definiciones

    15. Ejemplos

    16. Otras definiciones

    17. Ejemplos

    18. Otras definiciones

    19. Ejemplos

    20. Otras definiciones

    21. Ejemplos

    22. Otras definiciones

    23. Ejemplos: rbol genealgico de Mara (sin los hermanos)

    24. Otras definiciones

    25. Otras definiciones

    26. Ejemplos

    27. Definicin de rbol Binario

    28. Ejemplo

    29. rbol Binario: Caractersticas

    30. Recorridos de un rbol Binario

    31. Recorrido en Preorden

    32. Recorrido en Preorden

    33. Recorrido en Simtrico

    34. Recorrido en Simtrico

    35. Recorrido en Postorden

    36. Recorrido en Simtrico

    37. rbol Binario: Implementacin en C++

    38. rbol: Implementacin en C++

    39. rboles de Bsqueda

    40. rboles Lexicogrficos

    41. rboles Lexicogrficos

    42. rboles Lexicogrficos: Ejemplo

    43. Problemas

    44. rboles Hilvanados

    45. rboles Hilvanados

    46. rbol Hilvanado

    47. rboles Hilvanados

    48. Construyendo rboles Hilvanados

    49. Construyendo rboles Hilvanados

    50. Construyendo rboles Hilvanados

    51. rbol Hilvanado: Implementacin en C++

    52. rboles Balanceados

    53. rboles Balanceados

    54. rboles AVL

    55. rboles Generales La estructura anterior se puede representar con un rbol binario?

    56. rboles Generales Son rboles cuyo grado es mayor que dos.

    57. rboles Generales

    58. rboles Generales

    59. Transformacin de General en Binario

    60. Transformacin de General en Binario

    61. class TGBinTreeNode: public TBinTreeNode { public: TGBinTreeNode(void* pInfo): TBinTreeNode(pInfo) {} bool IsLeaf() {return !aLeft;} int Degree(); }; rbol General: Implementacin en C++

    62. int TGBinTreeNode::Degree() { int degree = 0; TBinTreeNode* cursor = Left(); while (cursor) { degree++; cursor = cursor->Right(); } return degree; } rbol General: Implementacin en C++

    63. class TGBinTree: public TBinTree { public: void* DeleteNode(TGBinTreeNode*); TGBinTreeNode* GetFather(TGBinTreeNode*); TGLinkedList* GetLeaves(); TGLinkedList* GetSons(TBinTreeNode*); bool InsertNode(TGBinTreeNode*, TGBinTreeNode*); }; rbol General: Implementacin en C++

    64. Colocacin Secuencial de rboles

    65. Colocacin Secuencial de rboles

    66. Colocacin en Preorden Secuencial

    67. Colocacin en Preorden Secuencial

    68. Colocacin en Preorden Secuencial

    69. Implementacin en C++

    70. Colocacin en Orden Familiar

    71. Colocacin en Orden Familiar

    72. Colocacin en Orden Familiar

    73. Implementacin en C++

    74. Colocacin en Postorden Secuencial

    75. Colocacin en Postorden Secuencial

    76. Colocacin en Postorden Secuencial

    77. Implementacin en C++

More Related