Árboles Binarios y Grafos

22
Árboles Binarios y Grafos

description

Estrutura de Datos

Transcript of Árboles Binarios y Grafos

Page 1: Árboles Binarios  y Grafos

Árboles Binarios y Grafos

Page 2: Árboles Binarios  y Grafos

Árboles Binarios• Un árbol binario es una estructura

recursiva. Cada nodo es la raíz de su propio subárbol y tiene hijos, que son raíces de árboles llamados subárbols derecho e izquierdo del nodo, respectivamente.

• Un árbol binario se divide en tres subconjuntos:

• R Nodo raíz

{ I1, I2,…,In }Subárbol izquierdo de R

{ D1, D2,…,Dn }Subárbol derecho de R.

R

I1

D1

I2 I3 D2

Pablo

D3

Page 3: Árboles Binarios  y Grafos

•En un árbol binario, cada nodo puede tener cero, uno o dos hijos (subárboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho.

X

Y Z

Padre o Raíz

Subárbol Izquierdo Subárbol Derecho

Pablo

Page 4: Árboles Binarios  y Grafos

•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

X

Y Z

Padre o Raíz

Subárbol Izquierdo Subárbol Derecho

Pablo

Page 5: Árboles Binarios  y Grafos

Ejemplo:A

B C

D E F G

Árbol Binario Equilibrado

A

B

C D

E

F

Árbol Binario No-Equilibrado

• Un árbol binario puede estar equilibrado o no equilibrado. Para que un árbol binario este equilibrado cada uno de sus sub árboles izquierdos y derechos deben de cumplir la siguiente condición: Estar vacios o presentar el mismo número de elementos

Pablo

Page 6: Árboles Binarios  y Grafos

Caracteristicas de Arboles Binario

Características

Estructuras de control de informaciónNo más de 2 subárboles por nodo

Puede contener de 1 a 2n

cada nodo puede ser la raíz de unsubárbol

Recursivos

Cada nodo puede tener 0,1 ó 2 hijos

Noel

Page 7: Árboles Binarios  y Grafos

Recorrido de Un Árbol Binario•Un árbol binario puede ser recorrido de tres

formas PRE-ORDEN•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)

Noel

Page 8: Árboles Binarios  y Grafos

Algoritmo Preeorden• Si A no es vacío entonces

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

Noel

Page 9: Árboles Binarios  y Grafos

EjemploA

B C

D E F G

1

2

3 4

5

6 7

Recorrido PreOrden:

A B D E C F G

Noel

Page 10: Árboles Binarios  y Grafos

A

B

C D

E

F

1

2

3

4

5 6

Recorrido PreOrden:

A B C D E F

Noel

Page 11: Árboles Binarios  y Grafos

•Recorrido En orden: 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)

Noel

Page 12: Árboles Binarios  y Grafos

Algoritmo

•Si el árbol no esta vacío entonces inicio recorrer el subárbol izquierdo visitar el nodo raíz recorrer el subárbol derecho

•Fin

Noel

Page 13: Árboles Binarios  y Grafos

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

Noel

Page 14: Árboles Binarios  y Grafos

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

34

5

6

7

8

9

10

11

12

13

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

Noel

Page 15: Árboles Binarios  y Grafos

•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)

Noel

Page 16: Árboles Binarios  y Grafos

Algoritmo

•Si A no esta vacio entonces inicio 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

Noel

Page 17: Árboles Binarios  y Grafos

EjemploA

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 ^ +

Noel

Page 18: Árboles Binarios  y Grafos

GRAFOS•Para las ciencias de la

computación y la matemática, un grafo es una representación gráfica de diversos puntos que se conocen como nodos o vértices, los cuales se encuentran unidos a través de líneas que reciben el nombre de aristas. 

Josue

Page 19: Árboles Binarios  y Grafos

Caracterización de grafos

• Grafos simples: Un grafo es simple. si a lo más existe una arista uniendo dos vértices cualesquiera. Esto es equivalente a decir que una arista cualquiera es la única que une dos vértices específicos.

• Grafos conexos: Un grafo es conexo si cada par de vértices está conectado por un camino; es decir, si para cualquier par de vértices (a, b), existe al menos un camino posible desde a hacia b.

Un grafo es doblemente conexo si cada par de vértices está conectado por al menos dos caminos disjuntos; es decir, es conexo y no existe un vértice tal que al sacarlo el grafo resultante sea disconexo.Un grafo es doblemente conexo si cada par de vértices está conectado por al menos dos caminos disjuntos; es decir, es conexo y no existe un vértice tal que al sacarlo el grafo resultante sea disconexo.

Un grafo es doblemente conexo si cada par de vértices está conectado por al menos dos caminos disjuntos; es decir, es conexo y no existe un vértice tal que al sacarlo el grafo resultante sea disconexo.

Grafos simples

Josue

Page 20: Árboles Binarios  y Grafos

•Grafo dirigido: Un grafo dirigido es un tipo de grafo en el cual las aristas tienen una dirección definida,1 a diferencia del grafo generalizado, en el cual la dirección puede estar especificada o no.

•Grafo aleatorio Se denomina grafo aleatorio a un grafo que es generado por algún tipo de proceso aleatorio. La teoría de los grafos aleatorios cae en la intersección entre la teoría de grafos y la teoría de probabilidades y se fundamenta en el estudio de ciertas propiedades de los grafos aleatorios. Josue

Page 21: Árboles Binarios  y Grafos

En matemática y ciencias de la computación, un hipergrafo es una generalización de un grafo, cuyas aristas aquí se llaman hiperaristas, y pueden relacionar a cualquier cantidad de vértices, en lugar de sólo un máximo de dos como en el caso particular.

Hipergrafo

Josue

Page 22: Árboles Binarios  y Grafos

Gracias

FIN.