Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles
Arboles
“Árboles”
Nombre: Gutiérrez Victorio Axel Jair
Tree
Es una estructura de
datos jerárquica,
dinámica y no lineal
que se compone de un
conjunto de nodos y
arcos, además tiene
un apuntador inicial
llamado “raíz”, puede
tener como máximo
dos hijos.
Raíz: Nodo inicial del recorrido del árbol Raíz Nivel de un nodo: Cantidad de arcos
recorridos+1 para llegar a un nodo. La raíz tiene
Padre
Padre: Nodo antecesor de otro nivel 1.
Hijo: Nodo sucesor o descendiente Altura del árbol: Representa el valor más
Hermano:
Hijo grande de los niveles de los nodos
Hermano: Nodos sucesores del mismo Padre Interior
Grado de un nodo: Cantidad de hijos de un
Hoja: Nodo sin hijos nodo
Hoja
Interior: Conjunto de nodos que no son raíz ni hojas Subárbol Grado de un árbol: Representa el valor más
grande de los grados de un nodo
Tipos
Lleno
Perfecto Completo Balanceado
TRANSFORMACIÓN DE ÁRBOLES
GENERALES A BINARIOS
Estructuras página 1
La raíz del árbol general es la raíz del árbol binario
El hijo izquierdo de
cualquier nodo del árbol El hermano derecho de
general es el hijo cualquier nodo del árbol
izquierdo de ese nodo en general es el hijo derecho
el árbol binario de ese nodo en el árbol
binario
Recorridos en Arboles
INORDEN POSORDEN Preorden
5 12 6 1 9 5 6 12 9 1 1 12 5 6 9
Estructuras página 2
Binary Search Tree
Todos los nodos del sub-árbol
izquierdo son menores que el nodo
raíz
Buscar
Como podemos ver , es un proceso muy simple
Insertar
1.- Si no hay nodo, el que vamos insertar es la raíz
Recorte de pantalla realizado: 20/12/2021 05:19 p. m. 2.- Si el dato que tenemos en el nodo es menor al dato a
insertar, regresamos la función pero cambiamos el nodo al
hijo izquierdo de nuestro nodo
Estructuras página 1
Red-Black Trees
Reglas:
-Un nodo es rojo o negro
Rotación Izquierda
-El nodo derecho se convierte en el padre -El nodo izquierdo se convierte en padre
-EL nodo izquierdo del ->Nodo derecho se convierte en su hijo derecho -El nodo derecho del nodo izquierdo se convierte en su hijo izquierdo
Enum
Es un conjunto de valores
Da un nombre a un valor Insertar
La estrategia será la siguiente Porque Rojo
-Insertamos el nodo y por default los dejamos en rojo ->Con esto romperemos
-Re coloreamos y rotamos nodos para corregir la ruptura de alguna regla 2 reglas pero son las
más fáciles de arreglar
Estructuras página 1
Para este caso lo que debemos hacer para resolver esta
problemática será cambiar de color padre y tío a negro y el abuelo
lo cambiaremos a rojo
Caso 4.1 Z.Uncle == Black En triangulo Caso 421 Z.Uncle == Black En Línea
Podremos identificar este caso en 2 dependiendo de Z Podremos identificar este caso en 2 dependiendo de Z
Si Z es hijo derecho
Rotamos Z.Parent hacia la izquierda Si Z es hijo del lado derecho
Rotamos Z.Grandparent hacia la izquierda
Re coloreamos el Z.Parent y Z.Grandparent
Si Z es hijo Izquierdo
Rotamos Z.Parent hacia la derecha
Si Z es hijo del lado izquierdo
Rotamos Z.Grandparent hacia la derecha
Re coloreamos el Z.Parent y Z.Grandparent
Eliminar
Para eliminar nos ayudaremos de la eliminación en un Binary Search tree
.
Usaremos una función auxiliar llamada transplant
Estructuras página 2
Una vez hecho esto habremos eliminado el nodo, y proseguiremos a
arreglar las propiedades que hayamos roto
Estructuras página 3
Recorte de pantalla realizado: 08/12/2021 07:37 p. m.
Aquí cubrimos todos los casos y nos quedará hacer un else con los
mismos caso pero de lado izquierdo, y como podremos ver algunos de
estos casos nos ayudan a pasar a otro, creando un ciclo, un diagrama que
nos ayudara a entender un poco más el proceso
Estructuras página 4
Heaps
Es una estructura de datos que generalmente se representa como un
array
Insertar
85 79 75 50 56 30 60 87 I=7
Padre =3
0 1 2 3 4 5 6 7
85 79 75 87 56 30 60 50 I=3
Padre=1
0 1 2 3 4 5 6 7
85 87 75 79 56 30 60 50 I=1
0 1 2 3 4 5 6 7 Padre=0
87 85 75 79 56 30 60 50
0 1 2 3 4 5 6 7
Eliminar
Estructuras página 1
Eliminar
Estructuras página 2