SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Estructuras Discretas II




ARBOLES BINARIOS

Este tipo de árbol se caracteriza porque tiene un vértice principal y de
él se desprenden dos ramas. La rama izquierda y la rama derecha:




                                                     Prof. Miguel Angel Puebla
Estructuras Discretas II



Nodo.
Un árbol binario es un conjunto de elementos, cada uno de los cuales
se d
   denomina nodo. Un á b l binario puede tener cero nodos y en este
          i     d U árbol bi i           d               d
caso se dice que está vacío. Puede tener un sólo nodo, y en este caso
existe solamente la raíz del árbol o puede tener un número finito de
nodos. Cada nodo puede estar ramificado por la izquierda o por la
derecha o puede no tener ninguna ramificación.

Raíz.
En un árbol binario se pueden distinguir la raíz principal y las raíces de los
demás subárboles.
      subárboles




                                                                 Prof. Miguel Angel Puebla
Estructuras Discretas II




                    La raíz principal es el nodo cuya información es 1.
                    Podemos distinguir también el árbol:




             cuya raíz es el nodo con información 4. Este nodo es la raíz del
             árbol de la derecha El árbol de la izquierda:
                         derecha.



                           tiene como raíz el nodo cuya información es 2
                           y tiene solamente una ramificación.


                                                                 Prof. Miguel Angel Puebla
Estructuras Discretas II


  Padre.
  Un padre es un nodo que puede o no tener ramificaciones.
  Por ejemplo:




En los tres casos el nodo 1 es un padre. En el caso I es un padre que no tiene hijos.
En el caso II, el nodo 1 es el padre del nodo 2. En el caso III el nodo 1 es padre de
los nodos 2 y 3 pero no es padre del nodo 4.



                                                                 Prof. Miguel Angel Puebla
Estructuras Discretas II


Hijo.
Hij
Nos referimos al ejemplo anterior. En el caso I el nodo 1 no tiene hijos. En el
caso II, 2 es un hijo del nodo 1 y en el caso III, 4 es hijo de 2 y el padre de 2
es el nodo 1.

Hermano.
Hermano
Nos referimos al caso III del ejemplo anterior. Los hermanos son los hijos de un
mismo padre. Los nodos 2 y 3 son hermanos. El nodo 4 no tiene hermanos.

Hoja.
Una hoja es un nodo que no tiene ramificaciones Según el caso III el nodo 3 es
                                  ramificaciones.
una hoja mientras que el nodo 2 no se puede considerar como hoja porque tiene
una ramificación por la derecha. El nodo 4 también es una hoja.

Nodo no Terminal.
Un nodo no terminal es aquel que posee por lo menos una ramificación. En el
                           q q p         p
caso III, el nodo 1 o el nodo 2 son nodos no terminales, mientras que el nodo 4 o
el nodo 3 son nodos terminales.
                                                                  Prof. Miguel Angel Puebla
Estructuras Discretas II


Camino.
Un árbol siempre se examina hacia abajo




Al nodo 3 podemos llegar desde el nodo 2. Nunca se puede examinar el nodo 2
      d       d      ll    d d l d 2 N                   d       i     l d
a partir del nodo 3. Los apuntadores derecho o izquierdo de cualquier nodo apuntan
al árbol derecho o izquierdo que siguen a ese nodo. Nunca apuntan a los nodos
precedentes.
Un camino, es el conjunto de nodos que tenemos que visitar con el propósito de
llegar a un nodo específico.


                                                            Prof. Miguel Angel Puebla
Estructuras Discretas II



Por ejemplo para llegar al nodo 3, es necesario recorrer
el camino:

1 -- 2 -- 3

Del mismo nodo, para llegar al nodo 7 debemos recorrer
el camino:

1 -- 4 -- 5 -- 7

Obsérvese que l caminos se configuran siempre hacia abajo.
Ob é          los    i          fi       i       h i b j
Nunca se puede hablar de un camino para llegar al nodo 3 así:

7 -- 5 -- 4 -- 1 -- 2 -- 3

Este camino no se puede configurar.


                                                                Prof. Miguel Angel Puebla
Estructuras Discretas II


Longitud.
Longitud, es el número de nodos que se deben recorrer para pasar de un nodo a otro.
Por j
P ejemplo:l




La longitud entre 1 y 5 es 3. La longitud entre 7 y 7 es 0. La longitud entre
1 y 2 es 1. Obsérvese que no podemos calcular la longitud entre 2 y 7 ya que
el camino 2 -- 1 -- 7 no existe.


                                                               Prof. Miguel Angel Puebla
Estructuras Discretas II


Descendiente.
D     di t
El nodo 3 es descendiente del nodo 1 si a partir de 1 podemos llegar a 3 a través
                   j p
de un camino. Por ejemplo:




El nodo 3 es descendiente de 1 ya que a 3 podemos llegar por el camino:
1 -- 2 -- 3
Siempre que exista un camino para llegar de un nodo X a un nodo Y, el nodo Y
es un descendiente de X. Para el ejemplo anterior, el nodo 5 es descendiente de 4
pero el nodo 4 no es descendiente de 2.
       l d           d     di     d 2

                                                                Prof. Miguel Angel Puebla
Estructuras Discretas II


Ancestro.
A    t
El nodo 1 es un ancestro del nodo 3 si existe un camino entre 1 y 3. Basándonos
en el ejemplo anterior, 1 es un ancestro de 3 ya que existe un camino entre los nodos.
No se puede hablar de que 4 sea un ancestro de 3 ya que el camino 4 -- 1 -- 2 -- 3
no existe.
Nivel.
Cada nodo tiene un nivel dentro de un árbol binario. Por definición el nodo raíz
tiene un nivel 0 y los demás nodos tienen el nivel de su padre más 1.
Por j
P ejemplo: l


                                  El nodo 1 tiene un nivel 0 en tanto que el nodo
                                  7 tiene un nivel 3. Obsérvese que el nivel del
                                  nodo 7 es la longitud del camino desde la raíz
                                                   g
                                  hasta el nodo.




                                                                Prof. Miguel Angel Puebla
Estructuras Discretas II

Grado de un Nodo
            Nodo.
El grado de un nodo es el número de hijos. Por ejemplo el grado del nodo 1 es 2.
El grado de un nodo terminal siempre es 0. En los árboles binarios, el grado de
un nodo fl ú entre 0 y 2. Existen otros tipos de árboles, (árbol eneario), en los
      d fluctúa            2 E i          i    d á b l (á b l           i )   l
cuales ésta restricción no existe.

Altura.
La altura de un árbol binario es el nivel de la hoja o de las hojas que están más
distantes de la raíz. Basándonos en el ejemplo, la altura del árbol cuya raíz es 1,
                raíz                   ejemplo                                   1
corresponde a la longitud del camino para llegar a la hoja más distante de la raíz.
En este caso será 3.




                                                                Prof. Miguel Angel Puebla
Estructuras Discretas II

Arbol Binario Completo.
Un Arbol Binario Completo es aquel en el que todo nodo no terminal tiene sus dos
hijos. El siguiente es un árbol binario completo de nivel 3:




Obsérvese que todos los nodos no terminales tienen sus dos hijos. El máximo número
                                                             hijos
de nodos que puede tener un árbol de nivel n es: 20 + 21 + 22 + 23 ....+ 2n
Si n es 3 entonces: 20 + 21 + 22 + 23 = 15
Este á b l
E árbol es un árbol binario completo de nivel 3 y éste es el máximo número de
                 á b l bi i          l d i l         é       l á i        ú  d
nodos que puede tener un árbol de nivel 3.
                                                             Prof. Miguel Angel Puebla
Estructuras Discretas II


Arbol Binario I
A b l Bi i Igual.
                l
Dos árboles son iguales si los dos son vacíos. Existe otro caso en el cual dos
árboles son iguales:




Estos árboles son iguales porque sus raíces son iguales y también lo son su
respectivo árbol izquierdo y derecho. Para que un árbol sea igual a otro, es
                             derecho
necesario que el contenido de cada uno de sus respectivos nodos sea el mismo y
que tengan las mismas relaciones de parentesco.


                                                                 Prof. Miguel Angel Puebla
Estructuras Discretas II


Arbol Binario S
A b l Bi i Semejante.
                j t
Dos árboles son semejantes si tienen el mismo número de nodos y los valores de
los nodos del primer árbol son los mismos que los valores de los nodos del segundo,
sin importar la relación de parentesco entre ellos.
Por ejemplo:




                                                              Prof. Miguel Angel Puebla
Estructuras Discretas II


Peso.
El Peso de un árbol en un nodo dado es el número de nodos en el árbol sin contarse
el mismo. Por ejemplo:




El peso del árbol cuya raíz es 1, corresponde al número de nodos de ese árbol 4.
El nodo 3 tiene un peso de 2.




                                                               Prof. Miguel Angel Puebla
Estructuras Discretas II


FORMAS DE RECORRER UN ARBOL BINARIO
Universalmente existen tres formas de recorrer un árbol binario:
        Preorden
        Inorden
        Posorden

Forma de recorrer un árbol binario en Preorden:
1. Examinar el dato del nodo raíz.
2.
2 Recorrer el árbol izquierdo en preorden.
                                 preorden
3. Recorrer el árbol derecho en preorden.

Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por el nodo
                               árbol
raíz. Este método exige examinar primero el nodo raíz. Examinar un nodo es
revisar su contenido y eventualmente modificarlo en tanto que visitar un nodo es
utilizar la dirección de ese nodo con el propósito de seguir explorando el árbol hacia
  ili l di        ió d         d       l     ói d         i     l    d lá b lh i
abajo. Si deseamos recorrer un árbol en preorden, con el propósito de escribir su
contenido, debemos examinar el contenido de cada uno de sus nodos, mientras si
deseamos contar sus nodos, es necesario visitar cada nodo.
                                                                 Prof. Miguel Angel Puebla
Estructuras Discretas II


Forma de recorrer un árbol binario en Inorden:

1. Recorrer el árbol izquierdo en inorden.
                       q
2. Examinar la raíz.
3. Recorrer el árbol en inorden.

Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por el nodo
izquierdo. Este método exige examinar primero el nodo izquierdo. Examinar un
nodo es revisar su contenido y eventualmente modificarlo en tanto que visitar un
nodo es utilizar la dirección de ese nodo con el propósito de seguir explorando el
árbol. Si deseamos recorrer un árbol en inorden, debemos ante todo comenzar por
el nodo izquierdo, seguido por su raíz y por último ir al nodo derecho, con el
 l d i i d               id           í      últi   i l d d         h        l
propósito de escribir su contenido, debemos examinar el contenido de cada uno
de sus nodos, mientras si deseamos contar sus nodos, es necesario visitar cada nodo.




                                                                Prof. Miguel Angel Puebla
Estructuras Discretas II



Forma de recorrer un árbol binario en Posorden:

1. Recorrer el árbol izquierdo en posorden.
1 R          lá b li i d               d
2. Recorrer el árbol derecho en posorden.
3. Examinar la raíz.

Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por el nodo
izquierdo. Este método exige examinar primero el nodo izquierdo. Examinar un
  q                         g            p                 q
nodo es revisar su contenido y eventualmente modificarlo en tanto que visitar un
nodo es utilizar la dirección de ese nodo con el propósito de seguir explorando el
árbol. Si deseamos recorrer un árbol en posorden, debemos ante todo comenzar por
el nodo izquierdo, seguido por su nodo derecho y por último ir a su raíz, con el
propósito de escribir su contenido, debemos examinar el contenido de cada uno
de sus nodos mientras si deseamos contar sus nodos, es necesario visitar cada nodo.
       nodos,                                   nodos                           nodo




                                                               Prof. Miguel Angel Puebla
Estructuras Discretas II




                           Inorden: GDBHEIACJKF

                           Preorden: ABDGEHICFJK

                           Postorden: GDHIEBKJFCA


                                                    Prof. Miguel Angel Puebla
Estructuras Discretas II




                                     16


                           18                  22


                   20           15        40




                                                    Prof. Miguel Angel Puebla
Estructuras Discretas II         Ordenar un Arbol

                                          16


                            18                            22


                  20                15              40

      J=1 ITEM= A(2) = 18 18 > 16 INTERCAMBIAMOS 18 Y 16

                                         18


                           16                            22


                20                 15           40
                                                               Prof. Miguel Angel Puebla
Estructuras Discretas II
                                          18


                           16                             22


                20                   15             40


       J=2 ITEM= A(3) = 22           22 > 18 INTERCAMBIAMOS 22 y 18


                                               22


                                16                             18


                     20                   15             40
                                                                    Prof. Miguel Angel Puebla
Estructuras Discretas II
                                            22


                            16                                  18


                  20                   15             40


J= 3 ITEM=A(4) 20       20 > 16       PERO 20 < 22 INTERCAMBIAMOS SOLO 20 Y 16


                                                 22


                                 20                                  18


                       16                   15             40
                                                                          Prof. Miguel Angel Puebla
Estructuras Discretas II
                                        22


                       20                            18


              16                 15            40

 J=4 ITEM= A(5) 15          15 < 20 NO INTERCAMBIAMOS LUGARES
 J 5 ITEM
 J=5 ITEM= A(6) 40          40 > 18 Y 40 > 22 INTERCAMBIAMOS 40 Y 18 Y
                                           22,
                                               LUEGO 40 Y 22

                                         40


                           20                         22


                16                 15           18

                                                             Prof. Miguel Angel Puebla
Estructuras Discretas II


                                   A


                                           F
                     B


              C            D                       G


                               E               H


                                       I           J




                                                       Prof. Miguel Angel Puebla
Estructuras Discretas II


              Representación de Expresiones Matemáticas
                      Mediante arboles Binarios

                                               _
          (A+B)*C-D/E
          (A+B)*C D/E

                                          *             /


                                      +        C   D          E



                                  A        B




                                                   Prof. Miguel Angel Puebla
Estructuras Discretas II


                 Represente en un Arbol Binario las
                 siguientes expresiones:


                    (A+B) (C D)
                    (A+B)*(C-D)

                    ((A-C)*D)/(A+(B+D))

                    (A*B+C*D)-(A/B-(D+E))

                    (((A+B)*C+D)*E)-((A+B)*C-D)

                    (A+B)/(C-D)*(A-B)/(A*C)


                                                      Prof. Miguel Angel Puebla
Estructuras Discretas II



                                    20


                                             15
                      13


               10          11                         12


                                9                 7


                                         4            21




                                                           Prof. Miguel Angel Puebla
Estructuras Discretas II




       Diseñe unos algoritmos para:

       •Recorrer el árbol organizarlo de mayor a menor y
       además ajustar los valores a números pares.
        d á j t l            l       ú

       •Recorrer el árbol organizarlo de menor a mayor y ajustar
        Recorrer
       los valores tomando en cuenta que todo numero mayor de
       15 se le restara 4 y se dividirá entre 2




                                                   Prof. Miguel Angel Puebla
Estructuras Discretas II


                   ARBOLES ENEARIOS
  Un Arbol Eneario es una estructura de datos que se caracteriza
  porque cada nodo tiene un número indeterminado de hijos.
                                                       hijos
  Por ejemplo:




    El nodo 1 tiene cuatro hijos (2, 3, 4, 5), los nodos 2, 3 y 5 no
    tienen hijos y el nodo 4 tiene tres hijos (6, 7, 8).


                                                      Prof. Miguel Angel Puebla
Estructuras Discretas II



 Forma de recorrer un árbol eneario en Inorden:
 1. Primer hijo en inorden.
 2. Padre.
 3. Hermano en inorden

  Si deseamos recorrer todo el árbol, evidentemente debemos comenzar
  por su primer hijo en inorden. Este método exige examinar primero el
            i   hij      i d E t ét d           i         i      i      l
  nodo primogénito. Si deseamos recorrer un árbol enearios en inorden,
  debemos ante todo comenzar por su primer hijo, seguido por su padre
  y por último ir a su hermano, con el propósito de escribir su contenido,
  debemos examinar el contenido de cada uno de sus nodos, mientras si
  deseamos contar sus nodos, es necesario visitar cada nodo.




                                                             Prof. Miguel Angel Puebla
Estructuras Discretas II




    El recorrido inorden es: 2, 1, 5, 3, 6, 10, 7, 4, 11, 8, 12, 13, 9



                                                       Prof. Miguel Angel Puebla
Estructuras Discretas II




Recorrido en Preorden
1. Padre.
2. Primer hijo en preorden.
3. H
3 Hermano en preorden.
                     d

Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por su padre.
Este método exige examinar primero el nodo padre. Si deseamos recorrer un árbol
eneario en preorden, debemos ante todo comenzar por su padre, seguido de su
p
primer hijo y por último ir a su hermano, con el propósito de escribir su contenido,
         j p                             ,       p p                               ,
debemos examinar el contenido de cada uno de sus nodos, mientras si deseamos
contar sus nodos, es necesario visitar cada nodo.




                                                                Prof. Miguel Angel Puebla
Estructuras Discretas II




  El recorrido preorden es: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12




                                                      Prof. Miguel Angel Puebla
Estructuras Discretas II



Forma de recorrer un árbol eneario en Posorden:
1. Hijo en posorden.
2. Hermano en posorden.
3. Padre en posorden.

Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por su hijo
en posorden. Este método exige examinar primero el nodo hijo en posorden. Si
deseamos recorrer un árbol eneario en posorden, debemos ante todo comenzar por
d                      áb l      i           d d b               d
su hijo en posorden, seguido de su hermano en posorden y por último ir a su padre
en posorden, con el propósito de escribir su contenido, debemos examinar el
contenido de cada uno de sus nodos, mientras si deseamos contar sus nodos, es
necesario visitar cada nodo.




                                                             Prof. Miguel Angel Puebla
Estructuras Discretas II




        El recorrido posorden es: 2, 10, 13, 14, 15, 11, 12, 3, 9, 1




                                                       Prof. Miguel Angel Puebla
Estructuras Discretas II


 Forma de recorrer un árbol eneario en Niveles.
 Cada nodo tiene un nivel dentro de un árbol eneario. Por definición el nodo raíz
 tiene un nivel 0 y los demás nodos tienen el nivel de su padre más 1.
                                                                    1
 Observemos este árbol:




El recorrido por niveles es: el nodo 10 corresponde al nivel 0; 4, 8, 1
corresponden al nivel 1; 5, 15, 30 corresponden al nivel 2 y 7, 2, 3, 28,
11 corresponden al nivel 33.

                                                              Prof. Miguel Angel Puebla
Estructuras Discretas II




                           Prof. Miguel Angel Puebla

Más contenido relacionado

Similar a Arboles+[Modo+De+Compatibilidad]

Similar a Arboles+[Modo+De+Compatibilidad] (16)

Arboles 2c realizado.pptx
Arboles 2c realizado.pptxArboles 2c realizado.pptx
Arboles 2c realizado.pptx
 
Arboles v2
Arboles v2Arboles v2
Arboles v2
 
C11.1. árboles
C11.1. árbolesC11.1. árboles
C11.1. árboles
 
ARBOLES BINARIOS - grafos y logica matematica
ARBOLES BINARIOS - grafos y logica matematicaARBOLES BINARIOS - grafos y logica matematica
ARBOLES BINARIOS - grafos y logica matematica
 
Árboles binarios
Árboles binariosÁrboles binarios
Árboles binarios
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Estructuras No Lineales
Estructuras No LinealesEstructuras No Lineales
Estructuras No Lineales
 
ARBOLES-.pdf
ARBOLES-.pdfARBOLES-.pdf
ARBOLES-.pdf
 
Arboles 2014 final
Arboles 2014 finalArboles 2014 final
Arboles 2014 final
 
Mulesoft arboles
Mulesoft arbolesMulesoft arboles
Mulesoft arboles
 
Arboles multicamino
Arboles  multicaminoArboles  multicamino
Arboles multicamino
 
Arboles
ArbolesArboles
Arboles
 
Quasi - Arboles
Quasi - ArbolesQuasi - Arboles
Quasi - Arboles
 
Arboles
ArbolesArboles
Arboles
 
áRbol 2 3
áRbol 2 3áRbol 2 3
áRbol 2 3
 
Arboles
ArbolesArboles
Arboles
 

Más de grupo6tic

Más de grupo6tic (20)

Huffman 2
Huffman 2Huffman 2
Huffman 2
 
Ejemplo+Huffman
Ejemplo+HuffmanEjemplo+Huffman
Ejemplo+Huffman
 
Grafos+2+Parte 2
Grafos+2+Parte 2Grafos+2+Parte 2
Grafos+2+Parte 2
 
Bellman Ford1
Bellman Ford1Bellman Ford1
Bellman Ford1
 
Bellman Ford
Bellman FordBellman Ford
Bellman Ford
 
Automata3
Automata3Automata3
Automata3
 
Automata2
Automata2Automata2
Automata2
 
Flyd+Warshall
Flyd+WarshallFlyd+Warshall
Flyd+Warshall
 
Bellman Ford1
Bellman Ford1Bellman Ford1
Bellman Ford1
 
Bellman Ford1
Bellman Ford1Bellman Ford1
Bellman Ford1
 
Bellman Ford1
Bellman Ford1Bellman Ford1
Bellman Ford1
 
Bellman Ford1
Bellman Ford1Bellman Ford1
Bellman Ford1
 
Bellman Ford1
Bellman Ford1Bellman Ford1
Bellman Ford1
 
Bellman Ford1
Bellman Ford1Bellman Ford1
Bellman Ford1
 
Automata2
Automata2Automata2
Automata2
 
Bellman Ford
Bellman FordBellman Ford
Bellman Ford
 
Automata3
Automata3Automata3
Automata3
 
Automata3
Automata3Automata3
Automata3
 
Automata2
Automata2Automata2
Automata2
 
Automata3
Automata3Automata3
Automata3
 

Arboles+[Modo+De+Compatibilidad]

  • 1. Estructuras Discretas II ARBOLES BINARIOS Este tipo de árbol se caracteriza porque tiene un vértice principal y de él se desprenden dos ramas. La rama izquierda y la rama derecha: Prof. Miguel Angel Puebla
  • 2. Estructuras Discretas II Nodo. Un árbol binario es un conjunto de elementos, cada uno de los cuales se d denomina nodo. Un á b l binario puede tener cero nodos y en este i d U árbol bi i d d caso se dice que está vacío. Puede tener un sólo nodo, y en este caso existe solamente la raíz del árbol o puede tener un número finito de nodos. Cada nodo puede estar ramificado por la izquierda o por la derecha o puede no tener ninguna ramificación. Raíz. En un árbol binario se pueden distinguir la raíz principal y las raíces de los demás subárboles. subárboles Prof. Miguel Angel Puebla
  • 3. Estructuras Discretas II La raíz principal es el nodo cuya información es 1. Podemos distinguir también el árbol: cuya raíz es el nodo con información 4. Este nodo es la raíz del árbol de la derecha El árbol de la izquierda: derecha. tiene como raíz el nodo cuya información es 2 y tiene solamente una ramificación. Prof. Miguel Angel Puebla
  • 4. Estructuras Discretas II Padre. Un padre es un nodo que puede o no tener ramificaciones. Por ejemplo: En los tres casos el nodo 1 es un padre. En el caso I es un padre que no tiene hijos. En el caso II, el nodo 1 es el padre del nodo 2. En el caso III el nodo 1 es padre de los nodos 2 y 3 pero no es padre del nodo 4. Prof. Miguel Angel Puebla
  • 5. Estructuras Discretas II Hijo. Hij Nos referimos al ejemplo anterior. En el caso I el nodo 1 no tiene hijos. En el caso II, 2 es un hijo del nodo 1 y en el caso III, 4 es hijo de 2 y el padre de 2 es el nodo 1. Hermano. Hermano Nos referimos al caso III del ejemplo anterior. Los hermanos son los hijos de un mismo padre. Los nodos 2 y 3 son hermanos. El nodo 4 no tiene hermanos. Hoja. Una hoja es un nodo que no tiene ramificaciones Según el caso III el nodo 3 es ramificaciones. una hoja mientras que el nodo 2 no se puede considerar como hoja porque tiene una ramificación por la derecha. El nodo 4 también es una hoja. Nodo no Terminal. Un nodo no terminal es aquel que posee por lo menos una ramificación. En el q q p p caso III, el nodo 1 o el nodo 2 son nodos no terminales, mientras que el nodo 4 o el nodo 3 son nodos terminales. Prof. Miguel Angel Puebla
  • 6. Estructuras Discretas II Camino. Un árbol siempre se examina hacia abajo Al nodo 3 podemos llegar desde el nodo 2. Nunca se puede examinar el nodo 2 d d ll d d l d 2 N d i l d a partir del nodo 3. Los apuntadores derecho o izquierdo de cualquier nodo apuntan al árbol derecho o izquierdo que siguen a ese nodo. Nunca apuntan a los nodos precedentes. Un camino, es el conjunto de nodos que tenemos que visitar con el propósito de llegar a un nodo específico. Prof. Miguel Angel Puebla
  • 7. Estructuras Discretas II Por ejemplo para llegar al nodo 3, es necesario recorrer el camino: 1 -- 2 -- 3 Del mismo nodo, para llegar al nodo 7 debemos recorrer el camino: 1 -- 4 -- 5 -- 7 Obsérvese que l caminos se configuran siempre hacia abajo. Ob é los i fi i h i b j Nunca se puede hablar de un camino para llegar al nodo 3 así: 7 -- 5 -- 4 -- 1 -- 2 -- 3 Este camino no se puede configurar. Prof. Miguel Angel Puebla
  • 8. Estructuras Discretas II Longitud. Longitud, es el número de nodos que se deben recorrer para pasar de un nodo a otro. Por j P ejemplo:l La longitud entre 1 y 5 es 3. La longitud entre 7 y 7 es 0. La longitud entre 1 y 2 es 1. Obsérvese que no podemos calcular la longitud entre 2 y 7 ya que el camino 2 -- 1 -- 7 no existe. Prof. Miguel Angel Puebla
  • 9. Estructuras Discretas II Descendiente. D di t El nodo 3 es descendiente del nodo 1 si a partir de 1 podemos llegar a 3 a través j p de un camino. Por ejemplo: El nodo 3 es descendiente de 1 ya que a 3 podemos llegar por el camino: 1 -- 2 -- 3 Siempre que exista un camino para llegar de un nodo X a un nodo Y, el nodo Y es un descendiente de X. Para el ejemplo anterior, el nodo 5 es descendiente de 4 pero el nodo 4 no es descendiente de 2. l d d di d 2 Prof. Miguel Angel Puebla
  • 10. Estructuras Discretas II Ancestro. A t El nodo 1 es un ancestro del nodo 3 si existe un camino entre 1 y 3. Basándonos en el ejemplo anterior, 1 es un ancestro de 3 ya que existe un camino entre los nodos. No se puede hablar de que 4 sea un ancestro de 3 ya que el camino 4 -- 1 -- 2 -- 3 no existe. Nivel. Cada nodo tiene un nivel dentro de un árbol binario. Por definición el nodo raíz tiene un nivel 0 y los demás nodos tienen el nivel de su padre más 1. Por j P ejemplo: l El nodo 1 tiene un nivel 0 en tanto que el nodo 7 tiene un nivel 3. Obsérvese que el nivel del nodo 7 es la longitud del camino desde la raíz g hasta el nodo. Prof. Miguel Angel Puebla
  • 11. Estructuras Discretas II Grado de un Nodo Nodo. El grado de un nodo es el número de hijos. Por ejemplo el grado del nodo 1 es 2. El grado de un nodo terminal siempre es 0. En los árboles binarios, el grado de un nodo fl ú entre 0 y 2. Existen otros tipos de árboles, (árbol eneario), en los d fluctúa 2 E i i d á b l (á b l i ) l cuales ésta restricción no existe. Altura. La altura de un árbol binario es el nivel de la hoja o de las hojas que están más distantes de la raíz. Basándonos en el ejemplo, la altura del árbol cuya raíz es 1, raíz ejemplo 1 corresponde a la longitud del camino para llegar a la hoja más distante de la raíz. En este caso será 3. Prof. Miguel Angel Puebla
  • 12. Estructuras Discretas II Arbol Binario Completo. Un Arbol Binario Completo es aquel en el que todo nodo no terminal tiene sus dos hijos. El siguiente es un árbol binario completo de nivel 3: Obsérvese que todos los nodos no terminales tienen sus dos hijos. El máximo número hijos de nodos que puede tener un árbol de nivel n es: 20 + 21 + 22 + 23 ....+ 2n Si n es 3 entonces: 20 + 21 + 22 + 23 = 15 Este á b l E árbol es un árbol binario completo de nivel 3 y éste es el máximo número de á b l bi i l d i l é l á i ú d nodos que puede tener un árbol de nivel 3. Prof. Miguel Angel Puebla
  • 13. Estructuras Discretas II Arbol Binario I A b l Bi i Igual. l Dos árboles son iguales si los dos son vacíos. Existe otro caso en el cual dos árboles son iguales: Estos árboles son iguales porque sus raíces son iguales y también lo son su respectivo árbol izquierdo y derecho. Para que un árbol sea igual a otro, es derecho necesario que el contenido de cada uno de sus respectivos nodos sea el mismo y que tengan las mismas relaciones de parentesco. Prof. Miguel Angel Puebla
  • 14. Estructuras Discretas II Arbol Binario S A b l Bi i Semejante. j t Dos árboles son semejantes si tienen el mismo número de nodos y los valores de los nodos del primer árbol son los mismos que los valores de los nodos del segundo, sin importar la relación de parentesco entre ellos. Por ejemplo: Prof. Miguel Angel Puebla
  • 15. Estructuras Discretas II Peso. El Peso de un árbol en un nodo dado es el número de nodos en el árbol sin contarse el mismo. Por ejemplo: El peso del árbol cuya raíz es 1, corresponde al número de nodos de ese árbol 4. El nodo 3 tiene un peso de 2. Prof. Miguel Angel Puebla
  • 16. Estructuras Discretas II FORMAS DE RECORRER UN ARBOL BINARIO Universalmente existen tres formas de recorrer un árbol binario: Preorden Inorden Posorden Forma de recorrer un árbol binario en Preorden: 1. Examinar el dato del nodo raíz. 2. 2 Recorrer el árbol izquierdo en preorden. preorden 3. Recorrer el árbol derecho en preorden. Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por el nodo árbol raíz. Este método exige examinar primero el nodo raíz. Examinar un nodo es revisar su contenido y eventualmente modificarlo en tanto que visitar un nodo es utilizar la dirección de ese nodo con el propósito de seguir explorando el árbol hacia ili l di ió d d l ói d i l d lá b lh i abajo. Si deseamos recorrer un árbol en preorden, con el propósito de escribir su contenido, debemos examinar el contenido de cada uno de sus nodos, mientras si deseamos contar sus nodos, es necesario visitar cada nodo. Prof. Miguel Angel Puebla
  • 17. Estructuras Discretas II Forma de recorrer un árbol binario en Inorden: 1. Recorrer el árbol izquierdo en inorden. q 2. Examinar la raíz. 3. Recorrer el árbol en inorden. Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por el nodo izquierdo. Este método exige examinar primero el nodo izquierdo. Examinar un nodo es revisar su contenido y eventualmente modificarlo en tanto que visitar un nodo es utilizar la dirección de ese nodo con el propósito de seguir explorando el árbol. Si deseamos recorrer un árbol en inorden, debemos ante todo comenzar por el nodo izquierdo, seguido por su raíz y por último ir al nodo derecho, con el l d i i d id í últi i l d d h l propósito de escribir su contenido, debemos examinar el contenido de cada uno de sus nodos, mientras si deseamos contar sus nodos, es necesario visitar cada nodo. Prof. Miguel Angel Puebla
  • 18. Estructuras Discretas II Forma de recorrer un árbol binario en Posorden: 1. Recorrer el árbol izquierdo en posorden. 1 R lá b li i d d 2. Recorrer el árbol derecho en posorden. 3. Examinar la raíz. Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por el nodo izquierdo. Este método exige examinar primero el nodo izquierdo. Examinar un q g p q nodo es revisar su contenido y eventualmente modificarlo en tanto que visitar un nodo es utilizar la dirección de ese nodo con el propósito de seguir explorando el árbol. Si deseamos recorrer un árbol en posorden, debemos ante todo comenzar por el nodo izquierdo, seguido por su nodo derecho y por último ir a su raíz, con el propósito de escribir su contenido, debemos examinar el contenido de cada uno de sus nodos mientras si deseamos contar sus nodos, es necesario visitar cada nodo. nodos, nodos nodo Prof. Miguel Angel Puebla
  • 19. Estructuras Discretas II Inorden: GDBHEIACJKF Preorden: ABDGEHICFJK Postorden: GDHIEBKJFCA Prof. Miguel Angel Puebla
  • 20. Estructuras Discretas II 16 18 22 20 15 40 Prof. Miguel Angel Puebla
  • 21. Estructuras Discretas II Ordenar un Arbol 16 18 22 20 15 40 J=1 ITEM= A(2) = 18 18 > 16 INTERCAMBIAMOS 18 Y 16 18 16 22 20 15 40 Prof. Miguel Angel Puebla
  • 22. Estructuras Discretas II 18 16 22 20 15 40 J=2 ITEM= A(3) = 22 22 > 18 INTERCAMBIAMOS 22 y 18 22 16 18 20 15 40 Prof. Miguel Angel Puebla
  • 23. Estructuras Discretas II 22 16 18 20 15 40 J= 3 ITEM=A(4) 20 20 > 16 PERO 20 < 22 INTERCAMBIAMOS SOLO 20 Y 16 22 20 18 16 15 40 Prof. Miguel Angel Puebla
  • 24. Estructuras Discretas II 22 20 18 16 15 40 J=4 ITEM= A(5) 15 15 < 20 NO INTERCAMBIAMOS LUGARES J 5 ITEM J=5 ITEM= A(6) 40 40 > 18 Y 40 > 22 INTERCAMBIAMOS 40 Y 18 Y 22, LUEGO 40 Y 22 40 20 22 16 15 18 Prof. Miguel Angel Puebla
  • 25. Estructuras Discretas II A F B C D G E H I J Prof. Miguel Angel Puebla
  • 26. Estructuras Discretas II Representación de Expresiones Matemáticas Mediante arboles Binarios _ (A+B)*C-D/E (A+B)*C D/E * / + C D E A B Prof. Miguel Angel Puebla
  • 27. Estructuras Discretas II Represente en un Arbol Binario las siguientes expresiones: (A+B) (C D) (A+B)*(C-D) ((A-C)*D)/(A+(B+D)) (A*B+C*D)-(A/B-(D+E)) (((A+B)*C+D)*E)-((A+B)*C-D) (A+B)/(C-D)*(A-B)/(A*C) Prof. Miguel Angel Puebla
  • 28. Estructuras Discretas II 20 15 13 10 11 12 9 7 4 21 Prof. Miguel Angel Puebla
  • 29. Estructuras Discretas II Diseñe unos algoritmos para: •Recorrer el árbol organizarlo de mayor a menor y además ajustar los valores a números pares. d á j t l l ú •Recorrer el árbol organizarlo de menor a mayor y ajustar Recorrer los valores tomando en cuenta que todo numero mayor de 15 se le restara 4 y se dividirá entre 2 Prof. Miguel Angel Puebla
  • 30. Estructuras Discretas II ARBOLES ENEARIOS Un Arbol Eneario es una estructura de datos que se caracteriza porque cada nodo tiene un número indeterminado de hijos. hijos Por ejemplo: El nodo 1 tiene cuatro hijos (2, 3, 4, 5), los nodos 2, 3 y 5 no tienen hijos y el nodo 4 tiene tres hijos (6, 7, 8). Prof. Miguel Angel Puebla
  • 31. Estructuras Discretas II Forma de recorrer un árbol eneario en Inorden: 1. Primer hijo en inorden. 2. Padre. 3. Hermano en inorden Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por su primer hijo en inorden. Este método exige examinar primero el i hij i d E t ét d i i i l nodo primogénito. Si deseamos recorrer un árbol enearios en inorden, debemos ante todo comenzar por su primer hijo, seguido por su padre y por último ir a su hermano, con el propósito de escribir su contenido, debemos examinar el contenido de cada uno de sus nodos, mientras si deseamos contar sus nodos, es necesario visitar cada nodo. Prof. Miguel Angel Puebla
  • 32. Estructuras Discretas II El recorrido inorden es: 2, 1, 5, 3, 6, 10, 7, 4, 11, 8, 12, 13, 9 Prof. Miguel Angel Puebla
  • 33. Estructuras Discretas II Recorrido en Preorden 1. Padre. 2. Primer hijo en preorden. 3. H 3 Hermano en preorden. d Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por su padre. Este método exige examinar primero el nodo padre. Si deseamos recorrer un árbol eneario en preorden, debemos ante todo comenzar por su padre, seguido de su p primer hijo y por último ir a su hermano, con el propósito de escribir su contenido, j p , p p , debemos examinar el contenido de cada uno de sus nodos, mientras si deseamos contar sus nodos, es necesario visitar cada nodo. Prof. Miguel Angel Puebla
  • 34. Estructuras Discretas II El recorrido preorden es: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 Prof. Miguel Angel Puebla
  • 35. Estructuras Discretas II Forma de recorrer un árbol eneario en Posorden: 1. Hijo en posorden. 2. Hermano en posorden. 3. Padre en posorden. Si deseamos recorrer todo el árbol, evidentemente debemos comenzar por su hijo en posorden. Este método exige examinar primero el nodo hijo en posorden. Si deseamos recorrer un árbol eneario en posorden, debemos ante todo comenzar por d áb l i d d b d su hijo en posorden, seguido de su hermano en posorden y por último ir a su padre en posorden, con el propósito de escribir su contenido, debemos examinar el contenido de cada uno de sus nodos, mientras si deseamos contar sus nodos, es necesario visitar cada nodo. Prof. Miguel Angel Puebla
  • 36. Estructuras Discretas II El recorrido posorden es: 2, 10, 13, 14, 15, 11, 12, 3, 9, 1 Prof. Miguel Angel Puebla
  • 37. Estructuras Discretas II Forma de recorrer un árbol eneario en Niveles. Cada nodo tiene un nivel dentro de un árbol eneario. Por definición el nodo raíz tiene un nivel 0 y los demás nodos tienen el nivel de su padre más 1. 1 Observemos este árbol: El recorrido por niveles es: el nodo 10 corresponde al nivel 0; 4, 8, 1 corresponden al nivel 1; 5, 15, 30 corresponden al nivel 2 y 7, 2, 3, 28, 11 corresponden al nivel 33. Prof. Miguel Angel Puebla
  • 38. Estructuras Discretas II Prof. Miguel Angel Puebla