Estructura de Datos: Árboles y sus Componentes Básicos
Clase 40 de 42 • Curso Práctico de Estructuras de Datos y Algoritmos
Contenido del curso
Introducción a los algoritmos
- 2

Cómo Funcionan las Computadoras y el Sistema Binario
08:25 min - 3

Introducción a Lenguajes de Programación: Bajo y Alto Nivel
04:07 min - 4

Estructuras de Datos para Rutas Más Cortas en Mapas
07:14 min - 5

Algoritmo de Dijkstra para encontrar la ruta más corta
04:18 min - 6

Metodología para Resolver Algoritmos Paso a Paso
03:24 min - 7

Variables y Tipos de Datos en Programación
01:24 min - 8

Creación de Tipos de Datos Personalizados en C
04:22 min - 9

Configuración de Ubuntu en Windows 10 para C/C++
00:52 min - 10

Implementación de User Defined Data Type en C: Estructuras paso a paso
13:33 min - 11

Tipos de Datos Abstractos y Estructuras de Datos en Programación
07:21 min - 12

Tipos Abstractos de Datos: Lista, Pila, Cola y Diccionario
08:50 min - 13

Tipos Abstractos de Datos: Listas, Pilas y Colas
02:26 min - 14

Clases y objetos
00:00 min - 15

Colas y estructuras de datos: gestión de pedidos en restaurante
03:39 min - 16

Implementación de Queues con Arrays en Visual Studio Code
06:17 min - 17

Implementación de Abstract Data Type en C: Función enqueue
13:31 min - 18

Implementación de la función dequeue en estructuras de datos en C
08:03 min - 19

Implementación de Colas en C: Declaración y Uso de Funciones Básicas
07:31 min
Algoritmos de ordenamiento
- 20

Algoritmos de Ordenamiento: Conceptos y Aplicaciones Básicas
06:48 min - 21

Funcionamiento del Algoritmo de Ordenamiento Burbuja
06:55 min - 22

Implementación de Bubble Sort en C paso a paso
12:29 min - 23

Implementación de Bubble Sort en C y función de impresión
10:52 min - 24

Ordenamiento por Inserción en C: Algoritmo y Ejemplo Práctico
01:33 min - 25

Algoritmos de Ordenamiento Descendente: Implementación Práctica
00:12 min
Recursividad
Divide and conquer y programación dinámica
- 30

Diseño y análisis de algoritmos: Divide y vencerás
03:02 min - 31

Introducción a Programación Dinámica y Quicksort
03:13 min - 32

Ordenamiento de Arrays con MergeSort en C
01:33 min - 33

Algoritmos de Ordenamiento de Datos de Mayor a Menor
00:13 min - 34

Algoritmo Quicksort en Python: Implementación y Funcionamiento
12:50 min - 35

Ordenamiento Quick Sort en Python paso a paso
05:07 min
Algoritmos 'Greedy'
Grafos y árboles
¿Cómo comparar Algoritmos?
¿Qué sigue?
Un árbol es una estructura de datos similar a una lista pero en lugar de que cada nodo apunte al siguiente de forma lineal, cada nodo apunta a un número de nodos.
Un árbol es un ejemplo de una estructura de datos no lineal y es la forma de representar la naturaleza jerárquica de una estructura en forma gráfica. Los árboles también funcionan como un tipo de datos abstracto que cuenta con su definición y descripción de propiedades y operaciones, y se diferencia principalmente de las listas, queues (colas) y pilas porque a diferencia de estas no se utiliza para ordenar elementos de forma lineal.
- La raíz (root) de un árbol es el nodo sin nodos padres, un árbol puede tener máximo una raíz, como el nodo A en el ejemplo anterior.
- Un enlace o "edge" se refiere al enlace entre un nodo padre a un nodo hijo.
- Un nodo sin nodos hijos se conoce nodo "hoja" como los nodos E, J, K, H, I.
- Los nodos hijos del mismo padre se conocen como "hermanos" (Siblings) por ejemplo, los nodos B, C, D son nodos hermanos hijos de A.
- Por otro lado, los nodos anteriores a un nodo dado en la ruta hacia la raíz se conocen como ancestros, como G, C, y A para el nodo K en nuestra imágen de ejemplo.
- El set de todos los nodos a cualquier profundidad dada se conoce como "nivel del árbol" en nuestro ejemplo B, C, D son del mismo nivel (nivel 1) siendo la raíz el nivel 0.
- La profundidad de un nodo es la longitud del camino desde la raíz hasta el nodo, por ejemplo el nodo G tiene una profundidad de 2, A(1) - C(2) - G.
- La altura de un nodo es el largo del camino del ndo al nodo más profundo por ejemplo en nuestra imágen la altura de B es 2, B - F(1) - J(2).
- La altura del árbol es la altura máxima entre todos los nodos en un árbol, para un árbol la altura y la profundidad retornará el mismo valor, pero para nodos individuales podemos tener diferentes resultados, en el caso de nuestro árbol de ejemplo la altura y profundidad son de 3.