grafos 9.3 2016

Post on 22-Jan-2017

497 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sección 9.3

Recorrido en Árboles

Tomado de Matemáticas Discretas y sus Aplicaciones. Rosen

Esteban Andrés Díaz Mina

Introducción

Los árboles ordenados etiquetado (AOE) son muyusados para almacenar información.

Se requiere entonces un procedimiento que permitavisitar cada vértice de un AOE para acceder a losdatos. Describiremos varios algoritmos importantespara visitar todos los vértices de este tipo de árboles.Un AOE puede también ser usado para representarvarios tipos de expresiones, tales como expresionesaritméticas que involucra números, variables yoperadores.

Algoritmos de Recorridos

Los procedimientos para sistemáticamente visitar

cada vértice de un AOE son llamados algoritmos de

recorridos. Describiremos tres de los algoritmos

más frecuentemente usados, llamados recorrido

preorden, recorrido inorden y recorrido postorden.

Cada uno de estos algoritmos se define

recursivamente.

Definición 1

Sea T un AOE con raíz r.

Si T contiene únicamente a r, entonces r es el

recorrido preorden de T.

De otra manera, suponga que T1, T2, ... , Tn son los

subarboles de r de izquierda a derecha en T.

El recorrido preorden comienza visitando r.

Luego continua recorriendo T1 en preorden, entonces

T2 en preorden y así sucesivamente, hasta que Tn se

haya recorrido en preorden.

Definición 1

Ejemplo Recorrido Preorden

Ejemplo Recorrido Preorden

Definición 2

Sea T un AOE con raíz r.

Si T contiene únicamente a r, entonces r es el

recorrido inorden de T.

De otra manera, suponga que T1, T2, ... , Tn son los

subarboles de r de izquierda a derecha en T.

El recorrido inorden comienza recorriendo a T1 en

inorden, entonces visita a r.

Luego continua recorriendo a T2 en inorden, a T3 en

inorden y así sucesivamente, hasta que Tn se haya

recorrido en inorden.

Definición 2

Ejemplo Recorrido Inorden

Ejemplo Recorrido Inorden

Definición 3

Sea T un AOE con raíz r.

Si T contiene únicamente a r, entonces r es el

recorrido postorden de T.

De otra manera, suponga que T1, T2, ... , Tn son los

subarboles de r de izquierda a derecha en T.

El recorrido postorden comienza recorriendo T1 en

postorden, entonces T2 en postorden,..., entonces Tn

en postorden y finalmente visita a r.

Definición 3

Ejemplo Recorrido Postorden

Ejemplo Recorrido Postorden

Notación Infija, Prefija y Postfija

Se pueden representar expresiones complejas, tales

como las expresiones aritméticas, mediante árboles

ordenados con raíz. Por ejemplo, consideremos la

representación de la expresión aritmética que

involucra los operadores + (suma), - (resta),

* (multiplicación), / (división) y (exponenciación).

Se usan los paréntesis para indicar el orden de las

operaciones. Se puede utilizar un árbol ordenado con

raíz para representar dichas expresiones, en el que

los vértices internos representan operadores y las

hojas representan los números. Cada operador actúa

sobre sus subarboles izquierdo y derecho.

Ejemplo

La forma prefija de una expresión se obtienecuando se recorre en preorden. Una expresiónen esta forma es evaluada de derecha aizquierda, ejecutando la correspondienteoperación con los dos operandos que siguen aloperador

Ejemplos: ¿Cuales son los valores de las siguientes expresiones prefijas?

1. + - * 2 3 5 / ↑ 2 3 4 Sol. 3

2. + - ↑ 3 2 ↑ 2 3 / 6 – 4 2 Sol. 4

Ejemplo

+ - * 2 3 5 / ↑ 2 3 4

+ - * 2 3 5 / 8 4

+ - * 2 3 5 / 8 4 Dibujar el arbol

+ - * 2 3 5 2

+ - * 2 3 5 2

+ - 6 5 2

+ - 6 5 2

+ 1 2

3

Ejemplo

+ - ↑ 3 2 ↑ 2 3 / 6 – 4 2

+ - ↑ 3 2 ↑ 2 3 / 6 2

+ - ↑ 3 2 ↑ 2 3 / 6 2

+ - ↑ 3 2 ↑ 2 3 3

+ - ↑ 3 2 ↑ 2 3 3

+ - ↑ 3 2 8 3

+ - ↑ 3 2 8 3

+ - 9 8 3

+ - 9 8 3

+ 1 3

4

Ejemplo

La forma postfija de una expresión se obtienecuando se recorre en postorden. Una expresiónen esta forma es evaluada de izquierda aderecha ejecutando la operación quecorresponda cuando un par de operadores sonseguidos por un operador

Ejemplos ¿Cuáles son los valores de lassiguientes expresiones postfija?

1. 7 2 3 * - 4 ↑ 9 3 / + Sol. 4

2. 9 3 / 5 + 7 2 - * Sol. 40

Ejemplo

7 2 3 * - 4 ↑ 9 3 / +

7 2 3 * - 4 ↑ 9 3 / +

7 6 - 4 ↑ 9 3 / +

7 6 - 4 ↑ 9 3 / +

1 4 ↑ 9 3 / +

1 4 ↑ 9 3 / +

1 9 3 / +

1 9 3 / +

1 3 +

4

Ejemplo

9 3 / 5 + 7 2 - *

9 3 / 5 + 7 2 - *

3 5 + 7 2 - *

3 5 + 7 2 - *

8 7 2 - *

8 7 2 - *

8 5 *

40

top related