árboles binarios

18

Click here to load reader

Upload: javier-martinez

Post on 03-Jul-2015

5.891 views

Category:

Education


7 download

DESCRIPTION

:D una presentación que habla sobre árboles binarios, Métodos de recorrido en Orden, Preorde, y POstOrden para la clase de matemáticas discretas

TRANSCRIPT

Page 1: áRboles binarios

Árboles Binarios Br. Francisco Javier Guerrero Martínez

Grupo Halis (c) 2006 Sistemas e Investigación

Page 2: áRboles binarios

• Un Árbol Binario es un árbol en el que cada nodo tiene como máximo dos hijos, llamados subárbol izquierdo y subárbol derecho.

X

Y Z

Padre o Raíz

Subárbol Izquierdo Subárbol Derecho

Grupo Halis (c) 2006 Sistemas e Investigación

Page 3: áRboles binarios

• En un árbol binario, cada elemento tiene cero, uno o dos hijos. El nodo raíz no tiene un padre, pero sí cada elemento restante tiene un padre.

• En el ejemplo, X es un antecesor de Y

Grupo Halis (c) 2006 Sistemas e Investigación

X

Y Z

Padre o Raíz

Subárbol Izquierdo Subárbol Derecho

Page 4: áRboles binarios

• Un árbol binario puede estar equilibrado o noequilibrado. Para que un árbol binario esteequilibrado cada uno de sus sub árbolesizquierdos y derechos deben de cumplir lasiguiente condición: Estar vacios o presentar elmismo número de elementos

Grupo Halis (c) 2006 Sistemas e Investigación

Page 5: áRboles binarios

Ejemplo

Grupo Halis (c) 2006 Sistemas e Investigación

A

B C

D E F G

Árbol Binario Equilibrado

A

B

C D

E

F

Árbol Binario No-Equilibrado

Page 6: áRboles binarios

Recorrido de Un Árbol Binario

• Un árbol binario puede ser recorrido de tres formas

• 1. Preorden: La raíz se procesa antes que los subárboles izquierdo y derecho.

• El recorrido en preorden (NID) conlleva los siguientes pasos:

1. Recorrer la raíz (N)

2. Recorrer el subárbol izquierdo (I)

3. Recorrer el subárbol derecho (D)

Grupo Halis (c) 2006 Sistemas e Investigación

Page 7: áRboles binarios

Algoritmo Preeorden

• Si A no es vacío entonces inicio

ver los datos den la raíz de Tpreeorden (subárbol izquierdo del raíz de T)preeorden (subárbol derecho del raíz de T)

fin.

Grupo Halis (c) 2006 Sistemas e Investigación

Page 8: áRboles binarios

Ejemplo

Grupo Halis (c) 2006 Sistemas e Investigación

A

B C

D E F G

1

2

3 4

5

6 7

Recorrido PreOrden:

A B D E C F G

Page 9: áRboles binarios

Grupo Halis (c) 2006 Sistemas e Investigación

A

B

C D

E

F

1

2

3

4

5 6

Recorrido PreOrden:

A B C D E F

Page 10: áRboles binarios

• Recorrido Enorden: Procesa primero el subárbol izquierdo, después la raíz y a continuación el subárbol derecho. El significado “en” es que la raíz se procesa entre los subárboles. Si el árbol no está vacio, el método implica los siguientes pasos:

1. Recorrer todo el subárbol Izquierdo (I)

2. Visitar el Nodo Raíz (N)

3. Recorrer todo el subárbol Derecho (D)

Grupo Halis (c) 2006 Sistemas e Investigación

Page 11: áRboles binarios

Algoritmo

• Si el árbol no esta vacío entoncesinicio

recorrer el subárbol izquierdovisitar el nodo raízrecorrer el subárbol derecho

• Fin

Grupo Halis (c) 2006 Sistemas e Investigación

Page 12: áRboles binarios

Ejemplo

Grupo Halis (c) 2006 Sistemas e Investigación

+

*

A B

^

/

c d

3.5

Primero Se resuelve este lado

1

2

3

Recorrido In-Orden

Hay más elementos a procesar? N

4

Ahora resolvemoseste lado

A * B

El sub-árbol tiene raíces? Si/NoSi tiene raíces = Se procesa In-Ordencomenzando desde el elemento que este más apartado

5

6

7

8

9C / D ^ 3.5

R = A*B + C / D ^3.5

Page 13: áRboles binarios

Grupo Halis (c) 2006 Sistemas e Investigación

2

5

1

7

4

8

10

12

Primerose resuelve este lado

2

3

4

5

6

8

9

10

1 7 5 4

Ahora resuelve este lado

8 12 10

Recorrido : = 1 7 5 4 2 8 12 10

Page 14: áRboles binarios

Grupo Halis (c) 2006 Sistemas e Investigación

A

B

C D

E

F

Recorrido: C B E F D A

1

2

3

4

5

6A

B

H

I J

K

L M

C

D

E

F G

1

2

3

4

5

6

7

8

9

10

11

12

13

Recorrido: I L K M H J B A C D F E G

Page 15: áRboles binarios

• Recorrido postorden: (IDN) procesa el nodo raíz (post) después de que los subárboles izquierdo y derecho se han procesado. Se comienza situándose en la hoja más a la izquierda y se procesa. A continuación se procesa el subárbol derecho. Por último, se procesa el nodo raíz. Las etapas del algoritmo son:

1. Recorrer el subárbol izquierdo (I)

2. Recorrer el subárbol derecho (D)

3. Recorrer el nodo Raíz (N)

Grupo Halis (c) 2006 Sistemas e Investigación

Page 16: áRboles binarios

Algoritmo

• Si A no esta vacio entoncesinicio postorden (subárbol izquierdo del raíz de A)postorden (subarbol derecho del raíz de A)Visualizar los datos del raíz de A

• Fin

Grupo Halis (c) 2006 Sistemas e Investigación

Page 17: áRboles binarios

Ejemplo

Grupo Halis (c) 2006 Sistemas e Investigación

A

B C

D E F G

1 2

3

4 5

6

7Recorrido: D E B F G C A

+

*

A B

^

/

c d

3.5

1

3

2

4

6

5

8

7

9

Recorrido: A B * C D / 3.5 ^ +

Page 18: áRboles binarios

Grupo Halis (c) 2006 Sistemas e Investigación

A

B

C D

E

F

1

5

3

2

4

6A

B

H

I J

K

L M

C

D

E

F G

4

1

3

2

6

5

7

13

12

11

8

10

9

Recorrido: L K M I J H B F G E D C A

Recorrido: C F E D B A