Un Árbol Binario de Búsqueda (BST, por sus siglas en inglés) es una estructura de datos jerárquica que nos permite almacenar y recuperar información a una velocidad increíble. A diferencia de una lista normal donde los datos están uno detrás de otro, un árbol se ramifica desde un punto de inicio, organizando la información de manera inteligente.
Para que un árbol binario sea considerado "de búsqueda": se debe cumplir que para cualquier nodo, todos los valores en su rama izquierda deben ser menores, y todos los valores en su rama derecha deben ser mayores.
Estructura:
Raíz: El nodo principal donde comienza toda la estructura (el punto superior).
Nodos: Los círculos que contienen la información. Pueden ser "Padres" (si tienen ramas que bajan) o "Hijos" (si derivan de un nodo superior).
Hojas: Los nodos finales en la parte inferior de las ramas que no tienen ningún hijo.
Niveles: Toda la estructura se organiza por niveles o capas de profundidad. La raíz ocupa el nivel inicial, sus hijos directos forman el siguiente nivel, y así sucesivamente hacia abajo.
Observa cómo se distribuyen los valores. Al colocar siempre los números menores a la izquierda y los mayores a la derecha de cada nodo, la computadora puede descartar la mitad de las opciones en cada paso. ¡Por eso buscar datos en un BST es tan rápido y eficiente!
"Divide y Vencerás": Al comparar el número buscado, el algoritmo decide ir a la izquierda o a la derecha. Esto descarta instantáneamente la mitad del árbol en cada movimiento.
Velocidad extrema (O(\log n)): Gracias a este descarte continuo, buscar un dato específico entre 1.000.000 de nodos tomaría, como máximo, solo 20 pasos.
Supera a las listas tradicionales: En una lista normal, la computadora tendría que revisar los números uno por uno (tomando hasta 1.000.000 de pasos). El árbol elimina este retraso.
La condición del balanceo: Para que esto funcione, el árbol debe crecer de forma equilibrada. Si el usuario ingresa números ya ordenados (10, 20, 30...), el árbol formará una línea recta, perdiendo su ventaja y volviéndose lento.