Estructuras de Datos: Árboles Binarios y Búsqueda en JavaScript
Clase 24 de 29 • Curso de Estructuras de Datos con JavaScript
Contenido del curso
Arrays y strings
- 4

Cómo funcionan arrays en memoria de JavaScript
07:23 min - 5

Construcción de Arrays con Clases en JavaScript
09:33 min - 6

Métodos pop y delete en arrays
16:01 min - 7
Playground: crea tu propia implementación de unshift
- 8
Playground: crea tu propia implementación de shift
- 9

Inmutabilidad de Strings y Almacenamiento en Memoria
02:42 min
Hash Table
Linked List
- 15

Estructuras de Datos: Listas Enlazadas en JavaScript
05:20 min - 16

Estructura y Creación de una Lista Enlazada Simple en JavaScript
10:03 min - 17

Métodos para Manipular Nodos en Listas Enlazadas
12:12 min - 18

Inserta nodos intermedios sin romper enlaces en JavaScript
16:08 min - 19

Doubly Linked List con punteros bidireccionales
07:51 min
Stacks
Queues
Trees
Graphs
Cierre
Domina la estructura de datos árboles con reglas claras y casos prácticos. Aquí verás qué es un tree, cómo identificar un binary tree balanceado y por qué un binary search tree permite búsquedas rápidas, además de los métodos clave para implementarlo en JavaScript.
¿Qué es un tree y cómo se organiza?
Un tree es una estructura jerárquica que ramifica datos, similar al DOM. Todo parte de un nodo principal o root, desde el cual se conectan padres, hijos y hojas. Esta anatomía define cómo se navega y manipula la información.
- Root: nodo principal desde el que inicia la ramificación. Ejemplo: 1 como root.
- Parents: nodos con descendientes. Ejemplo: 1 y 3 son parents porque de ellos salen ramas.
- Hijos: nodos descendientes directos. Ejemplo: 2, 6, 7, 4 y también 3, porque desciende del root 1.
- Hojas: nodos finales sin hijos. Ejemplo: 2, 4, 6 y 7.
- Hermanos: nodos con el mismo padre. Ejemplo: 2, 3, 4, 6 y 7.
- Subtrees: árboles contenidos dentro de un árbol mayor. Ejemplo: el subtree que parte del 3 incluye 6 y 7.
¿Qué define un binary tree y cuándo está balanceado?
Un binary tree bien formado ramifica con hasta dos hijos por nodo. En uno “perfecto”, cada nivel duplica la cantidad de nodos del nivel anterior: si arriba hay 1, abajo debe haber 2; luego 4; y así sucesivamente. Un árbol se considera balanceado cuando hay la misma cantidad de nodos a izquierda y a derecha.
- Patrón de multiplicación: 1 → 2 → 4 → … en niveles sucesivos.
- Balance: cantidad equivalente de nodos en ambos lados.
- No balanceado: cuando los nodos “se cargan” hacia un solo lado y no respetan el crecimiento simétrico. Existen algoritmos para balancear, útiles cuando necesitas búsquedas eficientes.
¿Cómo funciona un binary search tree para buscar rápido?
El binary search tree organiza los datos con una regla simple: los números que decrecen van a la izquierda; los que crecen, a la derecha. Esta regla se aplica en toda la ramificación y habilita la técnica de divide y vencerás para descartar rápidamente mitades del árbol durante una búsqueda.
- Regla de orden: izquierda < nodo < derecha en cada nivel.
- Ejemplo a la derecha: 101 es menor que 105 y 105 es menor que 144.
- Ejemplo a la izquierda: 101 es mayor que 33 y 33 es mayor que 9.
- Ventaja: comparas si el valor buscado es mayor o menor que el nodo actual; con eso “cortas” la mitad que no sirve y evitas búsquedas en vano.
Además, trabajarás esta estructura con una clase en JavaScript y tres métodos esenciales:
- search: buscar un valor de forma eficiente.
- insert: agregar nodos para hacer crecer el árbol.
- delete: eliminar nodos existentes cuando sea necesario.
¿Te gustaría ver cómo insertar y buscar datos en tu propio binary search tree o tienes dudas sobre la regla izquierda/derecha? Deja tu pregunta en comentarios.