Estructuras Datos (Arboles)

download Estructuras Datos (Arboles)

of 30

Transcript of Estructuras Datos (Arboles)

  • 7/24/2019 Estructuras Datos (Arboles)

    1/30

    rboles

    Contenido Definicin de rbol rboles Binarios

    Recorridos en rboles binarios

  • 7/24/2019 Estructuras Datos (Arboles)

    2/30

    Objetivos

    Conocer las estructuras de datosarbreas y las formas de trabajar conellas en la solucin de problemas demediana complejidad

  • 7/24/2019 Estructuras Datos (Arboles)

    3/30

    Introduccin

    Director

    SubDir1 SubDir2 SubDir3

    JDpto1 JDpto2 JDpto3 JDpto! JDpto"

    #jemplo de un $rbol de Jerar%u&as

  • 7/24/2019 Estructuras Datos (Arboles)

    4/30

    Definicin de rbol

    'n rbol(tree) es un *+D+,+ %ue consta deun conjunto finito T de nodos y unarelacin R (paternidad) entre los nodos tal%ue-

    A

    D E F G

    CB

  • 7/24/2019 Estructuras Datos (Arboles)

    5/30

    Definicin de rbol

    Hay un nodo, especialmentedesignado, llamado la razdelrbol T.

    A

    D E F G

    CB

    A

    D E F G

    CB

  • 7/24/2019 Estructuras Datos (Arboles)

    6/30

    Definicin de rbol

    A los nodos que no son races de otrossubrboles se les denomina hojasdelrbol T, o sea, no tienen sucesoreso

    hijos.A

    D E F G

    CB

  • 7/24/2019 Estructuras Datos (Arboles)

    7/30

    ,claraciones

    Si el conjunto finito * de nodos del $rbol es vac&o. entonces setrata de un rbol vaco+

    #n esta estructura e/iste slo un nodo sin padre. %ue es larazdel $rbol+

    *odo nodo. a e/cepcin del nodo ra&0. tiene uno y slo unpadre+

    os sub$rboles de un nodo son llamados hijos+

  • 7/24/2019 Estructuras Datos (Arboles)

    8/30

    #jemplos

    A

    D E F G

    CB

    ,

    D #

    C4

    Padre de

    C:

    Padre deE:

    Padre de G

    Padre de

    A:

    Hijos de A:

    ,

    4

    C

    NO

    NO

    C4

  • 7/24/2019 Estructuras Datos (Arboles)

    9/30

    #jemplos

    A

    D E F G

    CB

    A

    D E F G

    CB

    Secuencias

    de A a G

    de A a E de A a F

    F

    A

    E G

    CB

    D

    A

    E F G

    CB

    F

    A

    E G

    CB

    D

    ! es sucesor de A y" es sucesor de !

  • 7/24/2019 Estructuras Datos (Arboles)

    10/30

    Otras definiciones

    Grado de un nodo:cantidad de #i$os de un nodo.

    Grado de un rbol es el mayor de los grados detodos sus nodos.

    Nodo hojaes un nodo sin #i$os o con grado % &.

    Nodo rama es un nodo que tiene #i$os, o sea, a lara' de un subrbol.

  • 7/24/2019 Estructuras Datos (Arboles)

    11/30

    #jemplos

    Grado de A:

    de E:

    de G:

    de J:

    Grado del rbol:Nodos hojas:

    Nodos raas:

    D

    A

    E F G

    CB

    !H J "

    #

    $

    %

    &

    $

    D

    A

    E F G

    CB

    !H J "

    D

    A

    E F G

    CB

    !H J "D' H' !' J' F' "

    A' B' C' E' G

  • 7/24/2019 Estructuras Datos (Arboles)

    12/30

    Otras definiciones

    Rama :Arista entre dos nodos.

    Nivel de un nodoes el n(mero de ramas que #ayque recorrer para llegar a la ra' de un nodo

    )or definicin, la ra' del rbol tiene ni*el &. +stadefinicin es recursi*a.

  • 7/24/2019 Estructuras Datos (Arboles)

    13/30

    #jemplos

    A

    F

    CB

    D E G

    H !

    Ni(el

    de A:

    de E:

    de B:

    de !:de G:

    &

    #

    %

    $

    #

  • 7/24/2019 Estructuras Datos (Arboles)

    14/30

    Otras definiciones

    rbol completo de nivel nse denomina aun rbol en el que cada nodo de ni*el n esuna #o$a y cada nodo de ni*el menor que n

    tiene, al menos, un subrbol no *aco.

  • 7/24/2019 Estructuras Datos (Arboles)

    15/30

    #jemplos

    A

    F

    CB

    D E G

    A

    CB

    D E

    )rbol co*letode ni(el #

    Cada nodo del ni(el n esuna hoja

    )rbol no completode ni(el #

    +n nodo del ni(el n,% es unahoja

  • 7/24/2019 Estructuras Datos (Arboles)

    16/30

    Otras definiciones

    Padre de un nodoes el nodo ra' del subrbol mspequeo que contiene a dic#o nodo y en el cual -lno es ra'.

    Hijo de un nodo se denominan a los/ nodos/ra'ces/ de uno de sus subrboles.

    Predecesor de un nodoes el nodo que le antecedeen un recorrido del rbol.

    Hermano de un nodoes otro nodo #i$o de su padre.

  • 7/24/2019 Estructuras Datos (Arboles)

    17/30

    #jemplos

    B

    D E G

    A

    C

    !H J

    F

    Padre de G:

    Hijos de C:

    Heranos de !:

    C

    FE G

    JH

  • 7/24/2019 Estructuras Datos (Arboles)

    18/30

    Otras definicionesrbol ordenado

    0n rbol ordenado se define como un rbol en el quelos subrboles de cada nodo forman un con$untoordenado. +l primer #i$o de un nodo en un rbolordenado se denomina con frecuencia el #i$o ms *ie$o

    de este nodo y el (ltimo #i$os e denomina el ms$o*en.

    El rbol es ordenado si al intercambiar el ordenrelati*o de los subrboles de un nodo, representa unasituacin semnticamente diferente.

  • 7/24/2019 Estructuras Datos (Arboles)

    19/30

    #jemplos- rbol 5eneal5ico de 6ar&a

    -ar.a

    Pedro

    /uisaJuan

    Jos0 Elsa /isa

    El rbol es ordenado

    +l primer subrbol 1uan es padre y 1os- es mayorque +lsa.

    +l segundo subrbol 2uisa es 3adre y pedro es

    mayor que 2isa.

  • 7/24/2019 Estructuras Datos (Arboles)

    20/30

    Otras definiciones

    rbol orientadoes un rbol para el cual no interesael orden relati*o de los sucesores o subrboles decualquier nodo, ya que slo se tiene en cuenta laorientacin de los nodos.

    Eje*lo:2a estructura organi'ati*a de una empresa, dondeno es importante el orden de los subdirectores a la#ora de representarlos en el rbol.

    +n la solucin de problemas informticos, los ms

    utili'ados son los rboles ordenados.

  • 7/24/2019 Estructuras Datos (Arboles)

    21/30

    Otras definiciones

    0na florestaes una coleccin de dos o ms rbolesdis$untos.

    Aclaraciones4 Dis$untos significa que no #ay nodos en com(n

    entre dos rboles cualesquiera de la misma. De un rbol se obtiene una floresta al quitarle la

    ra', si tiene dos #i$os o ms. De una floresta se obtiene un rbol al aadir unnodo que sea ra' de todos los rboles que laconforman.

  • 7/24/2019 Estructuras Datos (Arboles)

    22/30

    #jemplos

    B

    D E G

    C

    !H J

    F

    B

    D E G

    B

    !H J

    F

    Es una 1loresta NO es una 1loresta

    A

    Es un rbol

  • 7/24/2019 Estructuras Datos (Arboles)

    23/30

    Definicin de rbol 4inario

    0n rbol binarioen ingl-s binary tree/ es un rbolordenado de, a lo sumo, grado 5.

    claraciones: A lo sumo grado 5 significa que cada nodo tiene

    como m6imo dos #i$os, o sea, dos subrboles. Al ser ordenado el rbol, importa el orden de los

    subrboles, es decir, que ser necesario especificarde cada nodo cul es el #i$o i'quierdo y cul el #i$oderec#o.

  • 7/24/2019 Estructuras Datos (Arboles)

    24/30

    #jemplo

    -ar.a

    Pedro

    /uisaJuan

    Jos0 Elsa /isa

    El rbol 2eneal32ico es un rbol binario4

    !ada nodo tiene dos #i$os

    +s significati*o el orden de los subrboles.

  • 7/24/2019 Estructuras Datos (Arboles)

    25/30

    rbol 4inario- Caracter&sticas

    !ada nodo del rbol binario contiene4

    !nformaci"n

    Hijo #erechoHijo !z$uierdo

    0na referencia a su informacin.

    0n apuntador a su #i$o i'quierdo.

    0n apuntador a su #i$o derec#o.

  • 7/24/2019 Estructuras Datos (Arboles)

    26/30

  • 7/24/2019 Estructuras Datos (Arboles)

    27/30

    7ecorrido en 8reorden

    7. 8isitar la ra'.

    5. Recorrer subrbol i'quierdo en preorden.9. Recorrer subrbol derec#o en preorden.

  • 7/24/2019 Estructuras Datos (Arboles)

    28/30

    7ecorrido en 8reorden

    A

    D E F G

    CB

    D

    B

    E

    A

    F

    C

    G

    5ecorrido:7.Ra'.5. :ubrbol i'quierdo en preorden.

    9. :ubrbol derec#o en preorden.

    A B D E C F G

  • 7/24/2019 Estructuras Datos (Arboles)

    29/30

    7ecorrido en 8ostorden

    7. Recorrer subrbol i'quierdo en orden final.

    5. Recorrer subrbol derec#o en orden final.

    9. 8isitar la ra'.

  • 7/24/2019 Estructuras Datos (Arboles)

    30/30

    7ecorrido en Sim9trico

    A

    D E F G

    CB

    D

    B

    E

    A

    F

    C

    G

    5ecorrido7.:ubrbol i'quierdo en orden final.5.:ubrbol derec#o en orden final.

    9 R

    D E B F G C A