1 / 13
Enunciado: Defina árbol binario completo, montículo, árbol binario de búsqueda y árbol AVL.
1

Árbol binario completo

Un árbol binario es completo si todos los niveles están llenos excepto posiblemente el último, que se rellena de izquierda a derecha. Esto permite representarlo eficientemente en un array: el hijo izquierdo del nodo i está en la posición 2i+1 y el hijo derecho en 2i+2 (con índice base 0).

2

Montículo (Heap)

Un montículo es un árbol binario completo que satisface la propiedad de montículo: en un max-heap cada padre es ≥ que sus hijos; en un min-heap cada padre es ≤ que sus hijos. La raíz siempre contiene el máximo (o mínimo).

Operaciones: inserción O(log n) con sift-up; eliminación del extremo O(log n) con sift-down; construcción desde array O(n).

3

Árbol Binario de Búsqueda (BST)

Árbol binario donde para cada nodo N: todos los valores del subárbol izquierdo son menores que N, y todos los del subárbol derecho son mayores. El recorrido inorden produce los valores en orden ascendente.

Búsqueda, inserción y eliminación: O(log n) en promedio, O(n) en el peor caso (árbol degenerado).

4

Árbol AVL

BST auto-equilibrado donde en cada nodo la diferencia de alturas entre subárbol izquierdo y derecho (Factor de Equilibrio, FE) es −1, 0 o +1. Tras cada inserción o eliminación, si algún nodo rompe esta condición se aplica una rotación (simple o doble) para reequilibrar.

Tipos de rotación: LL → rotación simple derecha | RR → rotación simple izquierda | LR → doble (der-der, luego izquierda) | RL → doble (izq-izq, luego derecha).
Búsqueda, inserción, eliminación: siempre O(log n).

Resumen de complejidades:
BST promedio: O(log n) — BST peor caso: O(n) — AVL siempre: O(log n)
Heap inserción: O(log n) — Heap construcción desde array: O(n)