Arboles y Cadenas Ppt

download Arboles y Cadenas Ppt

of 65

Transcript of Arboles y Cadenas Ppt

  • 7/22/2019 Arboles y Cadenas Ppt

    1/65

    ARBOL

    y

    CADENA POLACAS

    1Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    2/65

    ARBOLDefinicion

    Un rbol T(V, A) es un grafo conexo acclico deestructura jerrquica 2-tuple.

    Donde:V = {conjunto de nodos}

    A = {conjunto de aristas}

    Para cualquier rbolSi |V|=n

    .. |A|=n-1

    A

    B D

    E F

    C

    2Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    3/65

    ARBOL ENRAIZADO Un rbol T(V,A) es enraizado cuando los nodos tienen almenos un descendiente.

    raizT: --------------------------- 0

    ---------------- 1

    ---------- 2

    ------------ 3

    /N/ = 14 , /A/ = 13Nodo Interno [A,B,D,F,J]Nodos Terminales (Hojas) [C,E,G,H,I,K,L,M,N]En todos los nodos, su peso es 1 (W=1)

    A

    B

    E

    DC

    GF JIH

    MLK N

    3Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    4/65

    ARBOL BINARIO

    Un rbol T(V,A) es binario cuando todoslos nodos tienen a lo mas dos

    descendientes. Todo rbol binario tieneuna estructura bien definida.

    SubIzq SubDer

    N

    L R

    4Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    5/65

    ARBOL BINARIO

    T:

    N = numero de nodos= 9 ,

    A= numero de arcos = 8

    A

    B

    D

    C

    E GF

    IH

    0

    1

    2

    3

    5Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    6/65

    ARBOL BINARIO rbol binario con variables punteros.1. Puntero Raz Raz

    2. Puntero Nodo Cabecera

    A

    B

    D

    C

    E GF

    IH

    Raz

    6Matematicas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    7/65

    rbol binario con nodo cabecera

    A

    B

    D

    C

    E GF

    IH

    7Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    8/65

    rbol binario ponderado y M

    T: T:20

    70 50

    2 10 25 35

    45 15

    Wi: peso

    ARBOL (MASCARA)

    8Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    9/65

    ELEMENTOS DE UN ARBOL RAIZ: Es el puntero que apunta al nodo padre NODO PADRE: Es el nodo del cual descienden todos

    los hijos. NODO HIJO: Es el nodo que tiene el mismo padre. NODO HERMANO: Es el nodo que esta al mismo

    nivel y desciende del mismo padre. HOJA (Nodos Terminales): Es el nodo que ya no

    tiene ms descendientes. DESCENDIENTES: Cualquier nodo que tiene el

    mismo antecesor. ANTECESOR: Es el nodo padre. ANTEPASADO: Son todos los antecesores. ANCESTRO: Es el nodo padre raz.

    9Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    10/65

    ARBOL

    GRADO O VALENCIA DE UN NODOEs el numero de descendientes directos decada nodo.

    CAMINO

    Es una secuencia finita de arcos continuos LONGITUD DE CAMINOEs el numero de arcos que contiene esecamino.

    ALTURAEs la longitud de ese nodo hasta las hojas PROFUNDIDAD

    Es la longitud desde la raz hasta ese nodo

    10Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    11/65

    ARBOL

    RAIZ

    ESE NODO

    HOJA

    Ejemplo:

    Altura(A) = 4

    Prof(A) = 0

    Prof(H) = 3

    A

    B

    D

    C

    E GF

    IH

    J

    Profundidad

    Altura

    11Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    12/65

    ARBOL EXTENDIDO

    Un rbol es extendido si en cualquier nodo seenlaza nodos cuadrados de valencia par.

    T:0

    1

    2

    3

    12Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    13/65

    LONGITUDES1. Longitud Interna =

    Long. Interna =1*0+2*1+3*2 = 8

    2. Longitud Extendida

    =1*2 + 6*3 = 203. Longitud Extendida

    Ponderada

    long. ext =

    2*2+3(1+2+2+2+3+4) =46

    2

    1 2 2 2 3 4

    0

    1

    2

    3

    13Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    14/65

    TRANSFORMACION DE UN

    ARBOL EN BINARIOAB

    E

    DC

    GF JIH

    MLK

    A

    B

    E

    F

    G

    C

    D

    H

    IJ

    K

    L

    M 14Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    15/65

    TIPO DE ARBOLES

    1. ARBOL LLENO

    Cuando todas las

    hojas estn almismo nivel.

    n(N) = 2n+1 1 ,

    n= n de nivel

    Crear un rbol lleno de nivel 3N = 3 , n(N) = 24 1 = 15

    0

    1

    2

    3

    15Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    16/65

    ARBOL COMPLETO

    Cuando todos losnodos internos estn

    llenos hasta alsiguiente al ultimonivel y con las hojasdel ultimo nivel toma

    mas a la izquierdacomo sea posible.

    n(N) = 2n + 1

    n = n de nivel

    Crear un rbol de nivel 3.

    Si n = 3 entonces n(N) = 9

    0

    2

    1

    3

    16Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    17/65

    ARBOL EQUILIBRADO

    Cuando todo interno se diferencia a lo masen uno.

    1)/altura(subIZQ) - altura(subDER)/

  • 7/22/2019 Arboles y Cadenas Ppt

    18/65

    ARBOL EQUILIBRADO EJM: Crear un rbol equilibrado de nivel 5

    K6 = K5 + 1 + K4 = 20

    K5 = K4 + 1 + K3 = 12

    K4 = K3 + 1 + K2 = 7

    K3 = K2 + 1 + K1 = 4

    K2 = K1 + 1 + K0 = 2

    12

    7

    4

    2

    1 0

    1

    7

    4

    2

    18Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    19/65

    rbol equilibrado de nivel 50

    1

    2

    3

    5

    4

    19Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    20/65

    ARBOL DE BUSQUEDA BINARIA

    Ni Nsubizq y Ni Nsubder

    Ni

    N N

    SUBIZQ SUBDER

    C A R M E N

    C

    A R

    M

    E N

    20Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    21/65

    rbol de bsqueda Binaria

    Un rbol T(V,A) es un rbol de bsqueda binaria (ABB) sicumple:SubIzq (Hi 1) = Hi

    Clear un arbol de busqueda binariaMe defino A B C D E F G H I

    IFD

    E

    B H

    A

    21

  • 7/22/2019 Arboles y Cadenas Ppt

    22/65

    rbol de bsqueda Binaria

    Dado: 70 30 45 10 100 50 80 2 35 200,CREAR ABB

    2008045

    70

    30 100

    10

    50352

    rbol Ponderado

    22Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    23/65

    rbol de bsqueda Binaria

    Dado una mascara Crear un ABB

    alfabetico

    I

    D R

    N

    L O

    J M

    S

    0

    1

    2

    3

    23

    4

    Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    24/65

    RBOL DE HUFFMANN

    Es til para codificar la informacin y seobtiene operando los dos pesos menores

    cada vez.

    Veamos algunos ejemplos:

    24Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    25/65

    rbol de Huffman

    EJEMPLO

    Info G R A F F OW 22 5 11 19 2 6

    22 5 11 19 2 622 7 11 19 622 13 11 1922 24 1941 24

    65

    2219

    13

    65

    24 41

    11

    6 7

    25

    0

    0

    0

    0

    0

    1

    11

    1

    1

    A

    O

    F

    F

    R

    G

    25

    A O F R F G

    Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    26/65

    rbol de Huffman Grafo: 11 0111 00 10 0110 010

    G R A F F ORepresentacion en memoria

    Lista: Info W SubIzq SubDer

    Info W SubIzq SubDer

    1 G 22 0 02 R 5 0 0

    3 A 11 0 0

    4 F 19 0 0

    5 F 2 0 0

    6 O 6 0 0

    7 7 5 2

    8 13 6 7

    9 24 3 8

    10 41 4 1

    11 65 9 10

    12 13 0

    13 0 0

    14 12 026

  • 7/22/2019 Arboles y Cadenas Ppt

    27/65

    rbol de Huffman

    0.05 0.09 0.12 0.45 0.16 0.13

    0.14 0.12 0.45 0.16 0.13

    0.14 0.25 0.45 0.16

    0.30 0.25 0.45

    0.55 0.451.00

    M A T D I S

    0.05 0.09 0.12 0.45 0.16 0.13

    0.45

    0.300.25

    1.00

    0.55

    0.12 0.13

    0.05 0.09

    0.160.14

    D

    ST

    M A

    I

    27Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    28/65

    28Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    29/65

    29Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    30/65

    30Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    31/65

    Representacin en Memoria

    31Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    32/65

    rbol del montculo

    A la secuencia de nodos:

    Hi , Hi+1, Hi+2, HDdiv2 , HDdiv2+1 , HD

    Se llama rbol de montculo: SiHi

  • 7/22/2019 Arboles y Cadenas Ppt

    33/65

    rbol del montculo

    i = 4, 5, 6

    Para i = 4: H4 = E

  • 7/22/2019 Arboles y Cadenas Ppt

    34/65

    Arbol : Algoritmo de Filtracion

    E

    I I

    I M O S

    M L T

    E

    M I

    L I O S

    M I T

    L

    M

    E M I L I O S M I T

    1 2 3 4 5 6 7 8 10 11

    34Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    35/65

    Representacin en Memoria

    F

    B H

    A D G I

    EC

    Info Izq Der

    1 H 9 6

    2 E 0 0

    3 A 0 0

    4 F 7 1

    15 C 0 0

    6 I 0 0

    7 B 3 11

    8 10 0

    9 G 0 0

    10 0 0

    11 D 5 2

    12 8 0

    12

    Inicio

    NDISP

    IZQ INFO DER

    35Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    36/65

    Representacin en Memoria de un rbol

    36Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    37/65

    Representacin Enlazada

    F

    B H

    A D G I

    C E

    De un arbol Binario

    37Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    38/65

    Representacin Enlazada

    38Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    39/65

    Operacin en un rbol de BBPRIMER CASO

    1) Elimina de una Hoja

    F

    B H

    A D

    C E

    F

    B H

    A D

    C

    39Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    40/65

    Eliminacin de un Nodo

    SEGUNDO CASO

    2) Eliminacin con 1 solo descendienteEl puntero padre salta al nodo suprimido y apunta al hijo

    del nodo que queremos suprimir

    F

    B H

    A I

    F

    A I

    40Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    41/65

    Eliminacin de un Nodo (3er caso)

    3) Eliminacin de 1 nodo con 2 descendientes SubIzq { el nodo es aquel que es el ms prximo y que

    precede inmediatamente al que se esta suprimiendo.

    SubDer { el valor es aquel que sigue inmediatamente al

    que esta suprimiendoF

    B H

    A D G I

    EC

    F

    C H

    A D G I

    E

    41Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    42/65

    Un puntero padre salta del nodo suprimido yapunta al hijo del nodo que queremos

    suprimir

    Sub Izq El valor es aquel que es el mas prximo y

    que precede inmediatamente al que le estasuprimiendo.Sub Derecho El valor es aquel que sigue inmediatamente

    al que se esta suprimiendo.

    42Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    43/65

    Recorridos en un rbol

    A.- Inorden

    B.-Preorden

    C.-Postorden

    43Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    44/65

    44Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    45/65

    45Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    46/65

    46Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    47/65

    Ejemplo:

    47Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    48/65

    48

  • 7/22/2019 Arboles y Cadenas Ppt

    49/65

    49Matematicas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    50/65

    CADENA POLACA

    Polaca Lukasiewice implant el rbol de una

    expresin aritmtica para obtener la cadena

    infija, prefija y posfija.

    Hacemos evaluaciones utilizando el concepto

    de pila.

    50Matematicas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    51/65

    CADENA POLACA

    EXPRESION ARITMTICA:tenemos dos:operandos: letras minsculas

    operadores : ( )

    / * div mod+ -

    51Matematicas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    52/65

    CADENA POLACAGeneracin de un rbol Expresin aritmtica

    1.dc

    ba

    +

    /

    -

    a b c d

    operadores

    info

    a b c d

    1 2 3 4

    52Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    53/65

    CADENA POLACA

    Ejemplo :

    a

    +

    *+

    //

    a /f*

    a

    dc*

    b c d1 2

    (a* b+c*d)/a*f + (a c)/ d 1/2

    53Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    54/65

    CADENA POLACA

    Obtener la cadena infija, prefija y posfija dela siguiente expresin:

    a x + b x + c = 0

    bs

    bb

    a

    acbbx

    a

    acbbx

    *

    *1

    2

    4

    2

    4

    2

    2

    54Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    55/65

    Recorridos de un rbol

    INFIJA

    Ejemplo:

    a ( b + c ) d / e

    Recorrido Infijo:

    a * b + c- d / e

    a d+ e

    cb

    -

    * /

    55Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    56/65

    Recorridos de un rbol

    PREFIJA

    Ejemplo:a ( b + c ) d / e

    Recorrido prefijo:- * a + b c / d e

    a d+ e

    cb

    -

    * /

    56Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    57/65

    Recorridos de un rbol

    POSTFIJA

    Ejemplo:a ( b + c ) d / e

    Recorrido posfijo:a b c + * d e / -

    a d+ e

    cb

    -

    * /

    57Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    58/65

    RECORRIDOS

    Ejemplo:

    CADENA INFIJA:b c /a +d e

    CADENA PREFIJA:

    + b / c a d e CADENA POSFIJA:

    b c a / d e +

    +

    b / d e

    c d

    58Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    59/65

    PILAS Es una estructura dinmica en donde las inserciones y eliminaciones

    se hacen a travs de la cima, utilizando el principio:

    Ultimo en llegar primero en salir

    L I F O

    Last In First Out

    cima

    59Matemticas Discretas: Daniel Quinto Pazce

    Push ( ) Pop ( )

    Depila Empila

  • 7/22/2019 Arboles y Cadenas Ppt

    60/65

    Pilas

    Empila de menor a mayor:Cadena (vaca)

    */

    +

    cima

    Desempilar

    Empilar

    E

    60Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    61/65

    Evaluacin Manual

    5(6+2)-8/4 -

    2

    4+

    /*

    5

    6

    8

    - * 5 + 6 2 / 8 4

    8 2

    40

    38

    Cadena PREFIJA

    61Matemticas Discretas: Daniel Quinto Pazce

  • 7/22/2019 Arboles y Cadenas Ppt

    62/65

    USANDO EL MTODO DE PILA

    5 6 2 + * 8 4 / -Smbolo Pila

    5 5

    6 5 6

    2 5 6 2

    + 5 8

    * 40

    12 40 8

    4 40 8 4

    / 40 2

    - 38

    62Matemticas Discretas: Daniel Quinto Pazce

    Cadena Postfija

  • 7/22/2019 Arboles y Cadenas Ppt

    63/65

    TRANSFORMACION DE INFIJA A POSFIJA

    a * ( b + c ) d / e

    63Matemticas Discretas: Daniel Quinto Pazce

    Se debe tener la expresin de la cadena enforma origina de infija; los operadores semanejan de acuerdo a sus prioridades,como se muestra en el ejemplo siguiente:

    TRANSFORMACION DE INFIJA A POSFIJA

  • 7/22/2019 Arboles y Cadenas Ppt

    64/65

    64Matemticas Discretas: Daniel Quinto Pazce

    Smbolos Pilas Cadena postfija

    ( (

    a ( a* (* a

    ( (*( a

    b (*( a b

    + (*(+ a b

    C (*(+ a b c) (* a b c +

    - (- a b c + *

    d (- a b c + * d

    / ( - / a b c + * d

    e ( - / a b c + * d e) E a b c + * d e / -

    TEMA DELA ARBOL BINARIO

  • 7/22/2019 Arboles y Cadenas Ppt

    65/65

    FIN