Árboles Binarios y Grafos
-
Upload
noel-jimenez -
Category
Data & Analytics
-
view
485 -
download
2
description
Transcript of Árboles Binarios y Grafos
![Page 1: Árboles Binarios y Grafos](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/1.jpg)
Árboles Binarios y Grafos
![Page 2: Árboles Binarios y Grafos](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/2.jpg)
Á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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/3.jpg)
•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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/4.jpg)
•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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/5.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/6.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/7.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/8.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/9.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/10.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/11.jpg)
•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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/12.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/13.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/14.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/15.jpg)
•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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/16.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/17.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/18.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/19.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/20.jpg)
•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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/21.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061323/5583905ed8b42a9e528b4d04/html5/thumbnails/22.jpg)
Gracias
FIN.