You are on page 1of 35

An alisis de Algoritmos - Arboles

Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl


INACAP Ingenier a en Inform atica

7 de mayo de 2013

A L TEX

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

1 / 18

Objetivos:

Conocer la estructura Arbol

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

2 / 18

Objetivos:

Conocer la estructura Arbol Analizar consideraciones de ingreso de datos a un Arbol

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

2 / 18

Objetivos:

Conocer la estructura Arbol Analizar consideraciones de ingreso de datos a un Arbol Realizar recorridos de un Arbol.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

2 / 18

Introducci on
La gura muestra los resultados de las seminales y nales del campeonato de apertura 2012. En esta se puede ver que los equipos se enfrentan hasta lograr ser campeones. S olo un equipo puede ser campe on.

Figura: Apertura 2012

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

3 / 18

Introducci on
Si dejamos de lado los nombres podemos obtener la siguiente estructura:

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

4 / 18

Introducci on
Si dejamos de lado los nombres podemos obtener la siguiente estructura:

Figura: Estructura obtenida

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

4 / 18

Introducci on
Para asociar m as normalmente esta estructura a un arbol es que se trabaja con la estructura invertida, con lo que quedaria de la siguiente forma:

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

5 / 18

Introducci on
Para asociar m as normalmente esta estructura a un arbol es que se trabaja con la estructura invertida, con lo que quedaria de la siguiente forma:

Figura: Estructura obtenida

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

5 / 18

Introducci on

En la imagen anterior se puede ver que existe una ra z, que tiene designado un valor en espec co, al campe on del campeonato. Adem as se puede ver que existe un trayectoria simple desde un v ertice v a un v ertice w.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

6 / 18

Introducci on

En la imagen anterior se puede ver que existe una ra z, que tiene designado un valor en espec co, al campe on del campeonato. Adem as se puede ver que existe un trayectoria simple desde un v ertice v a un v ertice w. La construcci on de este arbol se realiza de la siguiente forma: Incorporar la ra z v1 en la parte m as alta.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

6 / 18

Introducci on

En la imagen anterior se puede ver que existe una ra z, que tiene designado un valor en espec co, al campe on del campeonato. Adem as se puede ver que existe un trayectoria simple desde un v ertice v a un v ertice w. La construcci on de este arbol se realiza de la siguiente forma: Incorporar la ra z v1 en la parte m as alta. Abajo de la ra z y al mismo nivel, se colocan los v ertices v2 y v3 a los que se puede llegar por una trayectoria simple de longitud 1.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

6 / 18

Introducci on

En la imagen anterior se puede ver que existe una ra z, que tiene designado un valor en espec co, al campe on del campeonato. Adem as se puede ver que existe un trayectoria simple desde un v ertice v a un v ertice w. La construcci on de este arbol se realiza de la siguiente forma: Incorporar la ra z v1 en la parte m as alta. Abajo de la ra z y al mismo nivel, se colocan los v ertices v2 y v3 a los que se puede llegar por una trayectoria simple de longitud 1. Abajo de estos v ertices y al mismo nivel se incorporan los v ertices v4, v5, v6 y v7 a los que se llega desde la ra z por una trayectoria simple de longitud 2.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

6 / 18

Introducci on

Aparecen conceptos como Nivel de un V ertice y Altura de un arbol. Se dice que la ra z est a ubicada en el nivel 0, mientras que los dem as en el nivel 1 y 2 respectivamente. Por otro, lado la altura vendr a dada por el valor del u ltimo nivel.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

7 / 18

Introducci on

Aparecen conceptos como Nivel de un V ertice y Altura de un arbol. Se dice que la ra z est a ubicada en el nivel 0, mientras que los dem as en el nivel 1 y 2 respectivamente. Por otro, lado la altura vendr a dada por el valor del u ltimo nivel. EJEMPLO: Construir el arbol asociado, tomando al v ertice e como la ra z, determinar el nivel de cada v ertice y la altura del arbol.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

7 / 18

Introducci on

Aparecen conceptos como Nivel de un V ertice y Altura de un arbol. Se dice que la ra z est a ubicada en el nivel 0, mientras que los dem as en el nivel 1 y 2 respectivamente. Por otro, lado la altura vendr a dada por el valor del u ltimo nivel. EJEMPLO: Construir el arbol asociado, tomando al v ertice e como la ra z, determinar el nivel de cada v ertice y la altura del arbol.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

7 / 18

Ejemplos
En la vida real tenemos varios ejemplos que son modelados a partir de un arbol, dando cierta jerarqu a entre los distintos niveles.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

8 / 18

Ejemplos
En la vida real tenemos varios ejemplos que son modelados a partir de un arbol, dando cierta jerarqu a entre los distintos niveles. Genialog a

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

8 / 18

Ejemplos
En la vida real tenemos varios ejemplos que son modelados a partir de un arbol, dando cierta jerarqu a entre los distintos niveles. Genialog a Organigrama institucional

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

8 / 18

Ejemplos
En la vida real tenemos varios ejemplos que son modelados a partir de un arbol, dando cierta jerarqu a entre los distintos niveles. Genialog a Organigrama institucional Sistema de cheros del Windows. Etc.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

8 / 18

Arboles Binarios

Un arbol binario es un arbol con ra z en el que cada v ertice tiene ning un hijo, un hijo o dos hijos. Si el v ertice tiene un hijo se designa como hijo izquierdo o como hijo derecho (pero no ambos). Si un v ertice tiene dos hijos, un hijo se designa como hijo izquierdo y el otro como hijo derecho.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

9 / 18

Arboles Binarios

Un arbol binario es un arbol con ra z en el que cada v ertice tiene ning un hijo, un hijo o dos hijos. Si el v ertice tiene un hijo se designa como hijo izquierdo o como hijo derecho (pero no ambos). Si un v ertice tiene dos hijos, un hijo se designa como hijo izquierdo y el otro como hijo derecho. Un arbol binario completo es un arbol binario en el que cada v ertice tiene dos o cero hijos. Un ejemplo concreto de esto es el torneo de eliminaci on directa, donde la ra z est a dada por el campe on del torneo.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

9 / 18

Recorriendo Arboles

La b usqueda a lo ancho y la b usqueda en profundidad proporcionan maneras de caminar por un arbol, es decir, de recorrerlo en forma sistem atica de modo que se visite cada v ertice ex actamente una vez. Estos m etodos son denidos de manera recursiva. Preorden

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

10 / 18

Recorriendo Arboles

La b usqueda a lo ancho y la b usqueda en profundidad proporcionan maneras de caminar por un arbol, es decir, de recorrerlo en forma sistem atica de modo que se visite cada v ertice ex actamente una vez. Estos m etodos son denidos de manera recursiva. Preorden Entreorden

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

10 / 18

Recorriendo Arboles

La b usqueda a lo ancho y la b usqueda en profundidad proporcionan maneras de caminar por un arbol, es decir, de recorrerlo en forma sistem atica de modo que se visite cada v ertice ex actamente una vez. Estos m etodos son denidos de manera recursiva. Preorden Entreorden Postorden.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

10 / 18

Preorden
Este algoritmo recursivo procesa los v ertices de un arbol binario usando el recorrido preordenado: Entrada: R, la ra z de un arbol binario. Salida: Dependiente de como se interprete el proceso en la l nea 4.
procedure preorder ( R ){ if ( R es vacio then ) return procesar R ; i := hijo izquiero de R preorder ( i ) d := hijo derecho de R preorder ( d ) end preorder }

1 2 3 4 5 6 7 8 9 0

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

11 / 18

Recorriendo Arboles

Examineramos el algoritmo anterior para algunos casos sencillos. Si el arbol binario est a vac o, nada se procesa pues, en este caso, el algoritmo simplemente regresa a la l nea 3. Supongamos que la entrada consta de un arbol con un u nico v ertice. Hacemos R igual a la ra z y llamamos a preorder(R). Como R no es vac o, pasamos a la l nea 4, donde procesamos la ra z. En la l nea 6, llamamos a preorder con R igual al hijo izquierdo (vac o) de la ra z. Sin embargo, hemos visto que cuando la entrada es un arbol vac o, preorder no procesa nada. De manera an aloga, en la l nea 8 utilizamos un arbol vac o como entrada de preorder y nada se procesaa. As , cuando la entrada consta de un arbol cn un u nico v ertice, procesamos la ra z y regresamos.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

12 / 18

Recorriendo Arboles

Ahora, supongamos que la entrada es el arbol de la gura. Hacemos R igual a la ra z y llamamos a preorder(R). Como R no es vac o, pasamor a la l nea 4, donde procesamos a la ra z. En la l nea 6 llamamos a preorder, con R igual al hijo izquierdo de la ra z. Acabamos de ver que si la entrada de preorder consta de un u nico v ertice, preorder procesa ese v ertice. As , a continuaci on procesamos el v ertice B. De manera an aloga, en la l nea 8, procesamos el v ertice C. As , los v ertices se procesan en el orden A-B-C.

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

13 / 18

Recorriendo Arboles

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

14 / 18

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

15 / 18

Entreorden
Este algoritmo recursivo procesa los v ertices de un arbol binario usando el recorrido entreorden: Entrada: R, la ra z de un arbol binario. Salida: Dependiente de c omo se interprete el proceso en la l nea 6.
procedure entreorder ( R ){ if ( R es vacio then ) return i := hijo izquiero de R entreorder ( i ) procesar R ; d := hijo derecho de R entreorder ( d ) end entreorder }

1 2 3 4 5 6 7 8 9 0

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

16 / 18

Entreorden
Este algoritmo recursivo procesa los v ertices de un arbol binario usando el recorrido entreorden: Entrada: R, la ra z de un arbol binario. Salida: Dependiente de c omo se interprete el proceso en la l nea 6.
procedure entreorder ( R ){ if ( R es vacio then ) return i := hijo izquiero de R entreorder ( i ) procesar R ; d := hijo derecho de R entreorder ( d ) end entreorder } C B D E A F I H J G
en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica) 7 de mayo de 2013 16 / 18

1 2 3 4 5 6 7 8 9 0

Postorden
Este algoritmo recursivo procesa los v ertices de un arbol binario usando el recorrido postorden: Entrada: R, la ra z de un arbol binario. Salida: Dependiente de c omo se interprete el proceso en la l nea 8.
procedure postorden ( R ){ if ( R es vacio then ) return i := hijo izquiero de R postorden ( i ) d := hijo derecho de R postorden ( d ) procesar R ; end postorden }

1 2 3 4 5 6 7 8 9 0

en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica)

7 de mayo de 2013

17 / 18

Postorden
Este algoritmo recursivo procesa los v ertices de un arbol binario usando el recorrido postorden: Entrada: R, la ra z de un arbol binario. Salida: Dependiente de c omo se interprete el proceso en la l nea 8.
procedure postorden ( R ){ if ( R es vacio then ) return i := hijo izquiero de R postorden ( i ) d := hijo derecho de R postorden ( d ) procesar R ; end postorden } C E D B I J H G F A
en Inform Rodrigo Pavez Madariaga rodrigo.pavez10@inacapmail.cl An alisis (INACAP de Algoritmos Ingenier -a Arboles atica) 7 de mayo de 2013 17 / 18

1 2 3 4 5 6 7 8 9 0

An alisis de Algoritmos - Arboles


Rodrigo Pavez Madariaga Preguntas?
INACAP Ingenier a en Inform atica

7 de mayo de 2013

A L TEX

Rodrigo Pavez Madariaga Preguntas? (INACAPIngenier An alisis a de en Algoritmos Inform atica) - Arboles

7 de mayo de 2013

18 / 18

You might also like