← Lumbre

Estructuras de Datos y Algoritmos · 2.º Árboles binarios de búsqueda (BST)

Portada de Árboles binarios de búsqueda (BST)

Árboles binarios de búsqueda (BST)

✦ El BST añade lo que el hash no tiene: orden · Estructuras de Datos y Algoritmos · Programación · 11 minutos que valen la pena

Roadwise Consulting

Firmado y verificado · Biblioteca UNIV

Objetivo: Inserta, busca y recorre en un árbol binario de búsqueda, y analiza cómo el equilibrio afecta al costo de sus operaciones.

11 min Estructuras de Datos y Algoritmos · Programación 18–30 años
Más
Árboles binarios de búsqueda (BST)

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Estructuras de Datos y Algoritmos · 2.º semestre Cursos Explorar Mi cuenta Salir del modo estudio

Árboles binarios de búsqueda

Diagrama de estructuras de datos: arbol binario, lista enlazada y tabla hash.
Estructuras de datos fundamentales y analisis de complejidad algoritmica.

Mapa conceptual

  • Estructuras de Datos
    • Lineales
      • Arrays
      • Listas enlazadas
      • Pilas y Colas
    • No lineales
      • Arboles BST
      • Heaps
      • Grafos
    • Hash
      • Funcion hash
      • Colisiones
      • Rehashing
    • Algoritmos
      • Ordenamiento
      • Busqueda binaria
      • BFS DFS
    • Optimizacion
      • Big-O
      • Dinamica
      • Voracidad

Búsqueda y la idea de mitad a mitad

Para buscar un valor, empiezas en la raíz y comparas: si el valor es menor, vas a la izquierda; si mayor, a la derecha. Cada paso descarta todo el subárbol opuesto. En un árbol de altura h, el coste es O(h); y si está balanceado, h = log n, así que O(log n).

Buscar 15 en un BST balanceado

  1. Raíz = 8
    ¿8 15? sí, a la derecha

    Descartamos toda la izquierda (los menores que 8).

  2. Nodo = 12
    ¿12 15? sí, a la derecha

    Otra mitad eliminada.

  3. Nodo = 16
    ¿16 15? sí, a la izquierda

    Casi lo tenemos.

  4. Nodo = 15
    ¡encontrado!

    Tres comparaciones para un árbol de 7 nodos: ≈ log₂(7).

El peligro: desbalancearse

Si insertas datos ya ordenados (1, 2, 3, 4, …), cada nuevo valor va siempre a la derecha y el árbol se convierte en una LISTA enlazada de altura n. Entonces O(h) pasa a ser O(n): el BST pierde toda su ventaja. De ahí que existan árboles AUTOEQUILIBRADOS (AVL, rojo-negro) que rotan nodos para mantener h ≈ log n.

El equilibrio no es un lujo: es lo que separa O(log n) de O(n). AVL y rojo-negro lo garantizan con rotaciones; un BST a secas no.
OperaciónÁrbol balanceadoÁrbol degenerado (peor caso)
BuscarO(log n)O(n)
InsertarO(log n)O(n)
Mínimo / máximoO(log n)O(n)
Recorrido completoO(n)O(n)

Los tres recorridos

  • In-orden (izquierda, nodo, derecha): visita los valores ORDENADOS de menor a mayor. Es la prueba de fuego del BST.
  • Pre-orden (nodo, izquierda, derecha): útil para serializar/copiar el árbol.
  • Post-orden (izquierda, derecha, nodo): útil para borrar o evaluar expresiones.
Coste de búsqueda: logarítmico (balanceado) vs lineal (degenerado)

f(x) = log(x)/log(2) · f(x) = x · f(x) = 1

¿Qué recorrido de un BST visita sus claves en orden creciente?

Insertar siempre valores crecientes en un BST sin equilibrar mantiene la altura en O(log n).

Une cada operación/propiedad del BST con su coste o resultado (árbol balanceado).

      Errores frecuentes

      • Olvidar el caso de borrar un nodo con DOS hijos: se sustituye por el mínimo de la derecha (o máximo de la izquierda) para preservar la invariante.
      • Asumir BST = rápido sin equilibrar: el rendimiento depende de la ALTURA, que puede degenerar.
      • Confundir «árbol binario» (cualquiera con ≤2 hijos) con «BST» (con la invariante de orden).

      Ejemplo resuelto

      1. Inserta 8, 3, 10, 1, 6 en un BST vacío.
      2. 8 es la raíz. 3 menor → izquierda. 10 mayor → derecha.
      3. 1 menor que 8, a la izquierda; menor que 3, izquierda de 3.
      4. 6 menor que 8 (izquierda), mayor que 3 (derecha de 3).
      5. Árbol con raíz 8, subárbol izquierdo 3→1,6→…, derecho 10. Un in-orden daría 1,3,6,8,10.

      Los árboles ordenados son lo que usas cuando necesitas a la vez búsqueda rápida Y mantener el orden: índices de bases de datos (B-trees, generalización de esta idea), «¿cuántas claves hay entre a y b?», o el siguiente valor después de uno dado. El hash no puede con eso; el BST, sí.

      El BST en ocho ideas

      invariante BST
      izquierda nodo derecha
      búsqueda
      O(h); O(log n) balanceado
      degeneración
      datos ordenados → altura n
      AVL/rojo-negro
      autoequilibrados
      in-orden
      visita ordenado
      mínimo
      bajar a la izquierda
      borrar 2 hijos
      sustituir por sucesor
      altura
      ≈ log₂ n balanceado

      Toca una tarjeta para ver la respuesta.

      Video complementario
      Recurso audiovisual para reforzar los conceptos.

      Una tabla hash da búsqueda O(1) pero no sabe decir «dame todas las claves entre 100 y 200» ni «la clave siguiente». Explica por qué un BST sí puede y en qué situación elegirías el BST (log n) a pesar de ser «más lento» que el hash (O(1)).

      Tu texto se guarda sólo en este dispositivo.

      Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
      Más sobre esta lección
      Explora temas relacionados

      Conceptos

      Comentarios

      Inicia sesión para comentar.

      Todavía no hay comentarios. Sé la primera persona en opinar.