Unidad v arboles ESTRUCTURA DE DATOS
-
Upload
anthony-can -
Category
Education
-
view
486 -
download
0
Transcript of Unidad v arboles ESTRUCTURA DE DATOS
![Page 1: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/1.jpg)
Árboles
![Page 2: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/2.jpg)
Acerca de arboles
Los árboles representan las estructuras de datos no lineales y dinámicas mas importantes en computación
Dinámicas porque la estructura puede cambiar durante la ejecución del programa
No lineales, puesto que a cada elemento del árbol puede seguirle varios elementos
![Page 3: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/3.jpg)
Estructuras estáticas y dinámicas
Estructuras estáticas Estructuras dinámicas
Arreglos Listas
Registros Árboles
Conjuntos
![Page 4: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/4.jpg)
Estructuras lineales y no lineales
Estructuras lineales Estructuras no lineales
Arreglos Árboles
Registros
Conjuntos
Pilas
Colas
Listas
![Page 5: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/5.jpg)
Árbol
Es una estructura jerárquica aplicada sobre una colección de elementos u objetos llamados nodos, uno de los cuales es conocido como raíz. Además se crean relaciones o parentesco entre nodos dando lugar a términos como: padre, hijo, hermano, antecesor, sucesor, ancestro, etc.
![Page 6: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/6.jpg)
Definición formal de Árbol
Es una estructura homogénea que es la concatenación de un elemento junto con un número finito de árboles disjuntos, llamados subárboles. Una forma particular de árbol es la estructura vacía.
![Page 7: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/7.jpg)
Aplicaciones de Árboles
Representar formulas matemáticas
Organizar adecuadamente información
Registrar la historia de un campeonato de tenis
Construir un árbol genealógico
Análisis de circuitos eléctricos
Enumerar los capítulos y secciones de un libro
![Page 8: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/8.jpg)
Representacion de arboles
Diagramas de Venn
AB C
D
E F
G
E
![Page 9: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/9.jpg)
Anidacion de paréntesis
(A(B(D(I,E,F(J,K)),C(G,H(L))))
![Page 10: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/10.jpg)
Notación decimal DEWEY
1.A, 1.1.B, 1.1.1.D, 1.1.1.1.I, 1.1.2.E,1.1.3.F
![Page 11: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/11.jpg)
Notacion indentada
A
B
D
L
G
J
I
E
![Page 12: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/12.jpg)
CARACTERISTICAS Y PROPIEDADES DE LOS
ÁRBOLES TODO ARBOL QUE NO ES VACIO, TIENE UN UNICO NODO RAIZ.
UN NODO X ES DESCENDIENTE DE UN NODO Y, SI EL NODO X ESTA APUNTADO POR EL NODO Y. EN ESTE CASO SE UTILIZA LA EXPRESION X ES HIJO DE Y.
UN NODO X ES ANTECESOR DIRECTO DE UN NODO Y, SI EL NODO X APUNTA AL NODO Y. EN ESTE CASO SE UTILIZA LA EXPRESIÓN X ES PADRE DE Y.
SE DICE QUE TODOS LOS NODOS QUE SON DESCENDIENTES DIRECTOS DE UN MISMO NODO PADRE, SON HERMANOS.
TODO NODO QUE NO TIENE RAMIFICACIONES(HIJOS),SE CONOCE COMO TERMINAL U HOJA.
![Page 13: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/13.jpg)
Continuacion…
TODO NODO QUE NO ES RAIZ , NI TERMINAL U HOJA SE CONOCE COMO “INTERIOR”.
GRADO.- ES EL NUMERO DE DESCENDIENTES DIRECTOS DE UN DETERMINADO NODO.
GRADO DEL ARBOL.- ES EL MAXIMO GRADO DE TODOS LOS NODOS DEL ARBOL.
NIVEL.- ES EL NUMERO DE ARCOS QUE DEBEN SER RECORRIDOS PARA LLEGAR A UN DETERMINADO NODO. POR DEFINICION LA RAIZ TIENE NIVEL 1.
ALTURA.- ES EL MAXIMO NUMERO DE NIVELES DE TODOS LOS NODOS DEL ARBOL.
![Page 14: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/14.jpg)
GRAFOEjemplo
![Page 15: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/15.jpg)
X
Y
Grafo ejemplo
![Page 16: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/16.jpg)
A
CB
D H
L
EF
KI
G
J
Grafo ejemplo
![Page 17: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/17.jpg)
LONGITUD DE CAMINO INTERNO
Es la suma de las longitudes de camino de todos los nodos del arbol.
1
*h
i
I
LCI n i
I = representa el nivel del arbol, h altura y ni el numero de nodos
en el nivel
EJEMPLO:
LCI= 1*1 + 2*2 + 5*3 +4*4 = 36
LA LCIM=LCI/n n Numero de nodos en el arbol
![Page 18: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/18.jpg)
LONGITUD DE CAMINO EXTERNO
ARBOL EXTENDIDO.- es aquel en el que el número de hijos de cada nodo es igual al grado del árbol. Si alguno de los nodos no cumple la condición entonces se debe incorporar al mismo nodos especiales.
![Page 19: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/19.jpg)
Ejemplo de Arbol extendido
A
CB
D H
L
E F
KI
G
J
1
2
*h
i
I
LCE ne i
![Page 20: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/20.jpg)
LONGITUD DE CAMINO EXTERNO
Se define como la suma de las longitudes de camino de todos los nodos especiales del arbol. Se calcula por medio de:
1
2
*h
i
I
LCE ne i
![Page 21: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/21.jpg)
Ejercicio(10 puntos)Dado el siguiente arbol
A
CB
F L MG
D
E IH J K
Calcular la longitud de camino interno y la
longitud de camino externo y la media de
cada uno de ellos
![Page 22: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/22.jpg)
Árboles binarios
Un árbol ordenado es aquel en el que las ramas están ordenados. Los de grado dos son de especial atención, porque representan estructuras importantes en computación y son conocidas como árboles binarios.
En un árbol binario solo puede tener a lo máximo dos subárboles y es necesario distinguir entre el subárbol izquierdo y el subárbol derecho
![Page 23: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/23.jpg)
Definición de Árbol Binario
Es una estructura homogénea que es la concatenación de un elemento de tipo T, llamada raíz, con dos árboles binarios disjuntos, llamados subárbol izquierdo y subárbol derecho de la raíz.
Una forma particular de árbol binario es la estructura vacía.
![Page 24: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/24.jpg)
Aplicaciones
En estructura para tomar decisiones en dos opciones.
Para representar un árbol genealógico
Para representar la historia de un campeonato de tenis.
Para representar expresiones algebraicas construidas con operadores binarios.
![Page 25: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/25.jpg)
Arbol binario de busqueda
27
14
50 77
47
7 3259
11
![Page 26: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/26.jpg)
Representación algebraica(A * B) + (C / D) ^ 3
+
.
C D
^
A /3
B
![Page 27: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/27.jpg)
Árbol GenealógicoOSVALDO CAIRO
BATTISTUTTI
MARIA BATTISTUTTI
VALIENTEJOSE CAIRO
SCANDALLO
MARIA VALIENTE
MARTIN
ANTONIO CAIRO
GODOY
MARIA SCANDALLO
MISCORIA
ROBERTO
BATTISTUTTI
MAZZOTTI
![Page 28: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/28.jpg)
Arboles binarios
Distintos.-Cuando sus estructuras son diferentes
A
B
A
B
![Page 29: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/29.jpg)
Arboles binarios
Similares.-Cuando sus estructuras son idénticas, pero la informacion
de sus nodos son diferentes
A
B
X
Y
![Page 30: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/30.jpg)
A
B
Arboles binarios
Equivalentes.-Cuando son similares y ademas los nodos
contienen la misma información
A
B
A
B
![Page 31: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/31.jpg)
EJEMPLOA
B
D
C
A
X
N
L
A
B
D
C
A
B
D
C
A) B)
C)
D)
C A
C B
C D
A,B Y D
A D
![Page 32: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/32.jpg)
ARBOLES BINARIOS COMPLETOS
Es el árbol en el que todos sus nodos excepto los del último nivel, tienen dos hijos: el subarbol izquierdo y el subárbol derecho.
Formula para calcular el numero de nodos de un árbol binario completo de altura h
NUMERO DE NODOSABC = 2h – 1
Donde ABC significa árbol binario completo y h l altura del árbol
![Page 33: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/33.jpg)
Ejemplo de árbol binario completo
A
B
F M
D
E J
![Page 34: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/34.jpg)
Representación de árboles binarios en memoria
1.- Por medio de datos tipo puntero, conocido como variables dinámicas.
2.- Por medio de arreglos.
Los punteros es la forma mas natural para tratar este tipo de estructuras.
Los nodos del árbol binario serán representados como registros que contendrán como mínimo tres campos.
IZQ.- Campo donde se almacena a dirección del subárbol izquierdo.
INFO.- Campo donde se almacena la información del nodo.
DER.- Campo donde se almacena a dirección del subárbol derecho.
IZQ INFO DERT
![Page 35: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/35.jpg)
Definición de un árbol binario en lenguaje algorítmico.
Enlace = ^nodo
nodo = registro
izq: tipo enlace
info: tipo dato
der: tipo enlace
{fin de la definición}
![Page 36: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/36.jpg)
Ejemplo de aplicación de árbol binario
( * ) ( / ) 3.5A B C D
+
*
B 3.5
^
A /
C D
![Page 37: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/37.jpg)
Representación del árbol binario en Memoria
+
* ^
/A B 3.5
C D
![Page 38: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/38.jpg)
RECORRIDOS EN ÁRBOLES BINARIOS
Una de las operaciones mas importantes en una árbol binario, es el recorrido de los mismos. Recorrer un árbol significa visitar los nodos del árbol en forma sistemática, de forma que todos los nodos del mismo sean visitados una sola vez.
Existen 3 formas de hacer el recorrido y son:
1.- PREORDEN
Visitar la raíz
Recorrer el subárbol izquierdo
Recorrer el subárbol derecho
![Page 39: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/39.jpg)
Continuacion…2.- INORDEN
Recorrer el subarbol izquierdo
Visitar la raiz
Recorrer el subarbol derecho
3.- POSTORDEN
Recorrer el subarbol izquierdo
Recorrer el subarbol derecho
Visitar la raiz
![Page 40: Unidad v arboles ESTRUCTURA DE DATOS](https://reader034.fdocuments.mx/reader034/viewer/2022052602/55a03b691a28ab73218b461d/html5/thumbnails/40.jpg)
Tarea(10 puntos)
Realizar un resumen sobre el tema “Árboles binarios de búsqueda”
Aspectos:
1.- Definición
2.- Búsqueda
3.- Inserción en un árbol binario de búsqueda
4.-Borrado en un árbol binario de búsqueda
5.- Manejar conceptos y algoritmos para cada tema.