ESTRUCTURAS DE DATOS




   UNIDAD 5 ESTRUCTURAS NO LINEALES ESTATICAS Y DINAMICAS
                                      CO NCE PTO DE ARBO L



El Árbol es una estructura de datos no lineal ya que a cada uno de sus elementos pueden seguirle
varios. Un árbol es una estructura de almacenamiento de tipo jerárquico que consiste en una colección
de elementos llamados nodos en donde el primero de ellos se denomina raíz. Un árbol tiene un
número finito de elementos que a la vez forman sub-árboles.

Dentro de las aplicaciones más importantes de los arboles se encuentran la representación de
complejas fórmulas matemáticas, la organización de información que requiere numerosas búsquedas
y la manipulación de la información en el campo de la inteligencia artificial.

                                  CLASIFICA CIO N DE ARBO LE S



Los árboles se pueden clasificar de muchas formas. El criterio más importante para esto es el número
máximo de hijos que cada nodo del árbol puede tener. A este valor se le denomina orden.

   a) Árbol general: Es aquel que no tiene ningún límite en lo que respecta al número de hijos que
      puede tener cada nodo.

   b) Árbol binario: Son de particular importancia en el área de la informática y son aquellos en los
      que cada nodo puede tener como máximo dos hijos.

   c) Árbol equilibrado o balanceado: Es aquel en el que todas las hojas se encuentran en el mismo
      nivel o como máximo con solo un nivel de diferencia entre ellas.

   d) Árbol enhebrado: Es aquel en el que cada nodo puede guardar la liga o ligas a otros nodos. Son
      de dos tipos: ARBOL ENHEBRADO A LA DERECHA. Este tipo de árbol tiene una liga a la
       derecha que apunta a un nodo sucesor. ARBOL ENHEBRADO A LA IZQUIERDA. Estos
       árboles tienen una liga a la izquierda que apunta al nodo predecesor.




                       O PE RACIO NE S BASICAS SO BRE ARBO LE S BINARIO S



Operaciones básicas o primitivas de un árbol son:

   a) Creación del árbol.

   b) Inserción de un nodo.

   c) Eliminación de un nodo.

   d) Recorrido del árbol.

   e) Balanceo.


                                                                                                        1
ESTRUCTURAS DE DATOS




                                     ARBO L BINARIO DE BU SQU E DA



Es un tipo de árbol binario en el cual se pueden realizar de manera más eficiente las operaciones
básicas. La característica de este árbol es que todos los elementos menores a un nodo deben de estar
situados en el sub-árbol izquierdo y los elementos mayores o iguales en el sub-árbol derecho.



Árbol Binario de Búsqueda

10, 5, 9, 7, 2, 12, 10


                                              10



                                 5
                                                     12



                    2
                                      9              10




                             7




                                          RE CO RRIDO DE UN ARBO L

Se denomina recorrido de un árbol al proceso que permite acceder solo una vez a cada uno de los
nodos del árbol, existen dos formas de recorrer un árbol:

                                 Nivel 0
                                              10

                 Nivel 1         5
                                                          12

                         2                7
                                                     11              14
                                                                                                       2
ESTRUCTURAS DE DATOS

Nivel 2



   a) Recorrido por anchura: Es aquel en donde los nodos se van accesando por orden de nivel, es
      decir el primer nodo (raíz) seria del nivel 0, los siguientes dos nodos, del nivel 1y así
      sucesivamente.

   b) Recorrido por profundidad: En este tipo de recorrido existen tres algoritmos conocidos. Pre-
      orden, in-orden y pos-orden. El prefijo de cada nombre indica el momento en el que se accesa
      la información del nodo, es decir; antes, en medio y después.

          Los algoritmos son los siguientes:



          PRE-ORDEN:

          Acceso al nodo.

          Recorrido en pre-orden, por subarbol izquierdo.

          Recorrido en pre-orden, por subarbol derecho.

          == 10, 5, 2, 7, 12, 11, 14.




          IN-ORDEN:

          Recorrido in-orden, por subarbol izquierdo.

          Acceso al nodo.

          Recorrido in-orden, por subarbol derecho.

          == 2, 5, 7, 10, 11, 12, 14.



          POST-ORDEN:

          Recorrido en post-orden, por subarbol izquierdo.

          Recorrido en post-orden, por subarbol derecho.

          Acceso al nodo.

          == 2, 7, 5, 11, 14, 12, 10.


                                        E LIM INACIO N DE U N NO DO




                                                                                                     3
ESTRUCTURAS DE DATOS

La eliminación de un elemento en el árbol debe conservar su orden. Se deben de tomar en cuenta tres
diferentes casos según la posición del elemento o nodo que se va a eliminar dentro del árbol.

       1.    Si el nodo es una hoja, simplemente se suprime.

       2.    Si el nodo tiene un solo hijo, ese hijo sustituye al nodo.

       3.    Si el nodo tiene dos hijos existen dos opciones:

           a) Se sustituye por el elemento inferior situado lo mas a la derecha posible de su hijo
              izquierdo.

           b) Se sustituye por el elemento inferior situado lo mas a la izquierda posible de su hijo
              derecho.

Para poder realizar las acciones que eliminen un nodo será necesario conocer la siguiente información
del nodo a eliminar:

   1. Conocer su posición en el árbol.
   2. Conocer la referencia de su padre.
   3. Identificar si el nodo tiene hijos, si son 1 o 2 , si es 1 solo hijo saber si es el hijo izquierdo o
      derecho.




   1) Hoja

                                                               4
               4
                                                    1                     20
  1                      20
                                                                                    49
                                   49
                   12
                                                                                            99
                                              99

   2) Con un hijo

               4                                                      4

  2                      27                                2                   27


                                   49                                                     49
                   22                                                     12


                                                                                 42                          4
      12                                     99                                                     99
                           42
ESTRUCTURAS DE DATOS




    3) Con dos hijos

        a) Método a la derecha

                                                                    8
                         8

                                                            4                9
             3                    9

                                                    2           5                      1
    2            5                          1


                                                                        6
         4                   6




        b) Método a la izquierda




                                 16                                         16

                     7                     18                   6                     18


         4                   9                          4               9



2                6                    10        2                                10




                                                                                           5

Unidad 5 est. dat estruc. no lineal

  • 1.
    ESTRUCTURAS DE DATOS UNIDAD 5 ESTRUCTURAS NO LINEALES ESTATICAS Y DINAMICAS CO NCE PTO DE ARBO L El Árbol es una estructura de datos no lineal ya que a cada uno de sus elementos pueden seguirle varios. Un árbol es una estructura de almacenamiento de tipo jerárquico que consiste en una colección de elementos llamados nodos en donde el primero de ellos se denomina raíz. Un árbol tiene un número finito de elementos que a la vez forman sub-árboles. Dentro de las aplicaciones más importantes de los arboles se encuentran la representación de complejas fórmulas matemáticas, la organización de información que requiere numerosas búsquedas y la manipulación de la información en el campo de la inteligencia artificial. CLASIFICA CIO N DE ARBO LE S Los árboles se pueden clasificar de muchas formas. El criterio más importante para esto es el número máximo de hijos que cada nodo del árbol puede tener. A este valor se le denomina orden. a) Árbol general: Es aquel que no tiene ningún límite en lo que respecta al número de hijos que puede tener cada nodo. b) Árbol binario: Son de particular importancia en el área de la informática y son aquellos en los que cada nodo puede tener como máximo dos hijos. c) Árbol equilibrado o balanceado: Es aquel en el que todas las hojas se encuentran en el mismo nivel o como máximo con solo un nivel de diferencia entre ellas. d) Árbol enhebrado: Es aquel en el que cada nodo puede guardar la liga o ligas a otros nodos. Son de dos tipos: ARBOL ENHEBRADO A LA DERECHA. Este tipo de árbol tiene una liga a la derecha que apunta a un nodo sucesor. ARBOL ENHEBRADO A LA IZQUIERDA. Estos árboles tienen una liga a la izquierda que apunta al nodo predecesor. O PE RACIO NE S BASICAS SO BRE ARBO LE S BINARIO S Operaciones básicas o primitivas de un árbol son: a) Creación del árbol. b) Inserción de un nodo. c) Eliminación de un nodo. d) Recorrido del árbol. e) Balanceo. 1
  • 2.
    ESTRUCTURAS DE DATOS ARBO L BINARIO DE BU SQU E DA Es un tipo de árbol binario en el cual se pueden realizar de manera más eficiente las operaciones básicas. La característica de este árbol es que todos los elementos menores a un nodo deben de estar situados en el sub-árbol izquierdo y los elementos mayores o iguales en el sub-árbol derecho. Árbol Binario de Búsqueda 10, 5, 9, 7, 2, 12, 10 10 5 12 2 9 10 7 RE CO RRIDO DE UN ARBO L Se denomina recorrido de un árbol al proceso que permite acceder solo una vez a cada uno de los nodos del árbol, existen dos formas de recorrer un árbol: Nivel 0 10 Nivel 1 5 12 2 7 11 14 2
  • 3.
    ESTRUCTURAS DE DATOS Nivel2 a) Recorrido por anchura: Es aquel en donde los nodos se van accesando por orden de nivel, es decir el primer nodo (raíz) seria del nivel 0, los siguientes dos nodos, del nivel 1y así sucesivamente. b) Recorrido por profundidad: En este tipo de recorrido existen tres algoritmos conocidos. Pre- orden, in-orden y pos-orden. El prefijo de cada nombre indica el momento en el que se accesa la información del nodo, es decir; antes, en medio y después. Los algoritmos son los siguientes: PRE-ORDEN: Acceso al nodo. Recorrido en pre-orden, por subarbol izquierdo. Recorrido en pre-orden, por subarbol derecho. == 10, 5, 2, 7, 12, 11, 14. IN-ORDEN: Recorrido in-orden, por subarbol izquierdo. Acceso al nodo. Recorrido in-orden, por subarbol derecho. == 2, 5, 7, 10, 11, 12, 14. POST-ORDEN: Recorrido en post-orden, por subarbol izquierdo. Recorrido en post-orden, por subarbol derecho. Acceso al nodo. == 2, 7, 5, 11, 14, 12, 10. E LIM INACIO N DE U N NO DO 3
  • 4.
    ESTRUCTURAS DE DATOS Laeliminación de un elemento en el árbol debe conservar su orden. Se deben de tomar en cuenta tres diferentes casos según la posición del elemento o nodo que se va a eliminar dentro del árbol. 1. Si el nodo es una hoja, simplemente se suprime. 2. Si el nodo tiene un solo hijo, ese hijo sustituye al nodo. 3. Si el nodo tiene dos hijos existen dos opciones: a) Se sustituye por el elemento inferior situado lo mas a la derecha posible de su hijo izquierdo. b) Se sustituye por el elemento inferior situado lo mas a la izquierda posible de su hijo derecho. Para poder realizar las acciones que eliminen un nodo será necesario conocer la siguiente información del nodo a eliminar: 1. Conocer su posición en el árbol. 2. Conocer la referencia de su padre. 3. Identificar si el nodo tiene hijos, si son 1 o 2 , si es 1 solo hijo saber si es el hijo izquierdo o derecho. 1) Hoja 4 4 1 20 1 20 49 49 12 99 99 2) Con un hijo 4 4 2 27 2 27 49 49 22 12 42 4 12 99 99 42
  • 5.
    ESTRUCTURAS DE DATOS 3) Con dos hijos a) Método a la derecha 8 8 4 9 3 9 2 5 1 2 5 1 6 4 6 b) Método a la izquierda 16 16 7 18 6 18 4 9 4 9 2 6 10 2 10 5