TechLead
Intermedio
25 min
Guía completa

Árboles y árboles binarios

Estructuras de árboles, árboles binarios y recorridos

¿Qué es un árbol?

Un árbol es una estructura de datos jerárquica con nodos conectados por aristas. El nodo superior es la raíz y los nodos sin hijos son hojas. Los árboles binarios tienen como máximo 2 hijos por nodo.

Conceptos clave

  • 🌳 Raíz: Nodo superior | Hoja: Sin hijos
  • 📏 Altura: Camino más largo a una hoja | Profundidad: Distancia desde la raíz

Recorridos de árboles

// Inorder (Left, Root, Right) - Gives sorted order in BST
function inorder(root, result = []) {
  if (!root) return result;
  inorder(root.left, result);
  result.push(root.value);
  inorder(root.right, result);
  return result;
}

// Preorder (Root, Left, Right)
function preorder(root, result = []) {
  if (!root) return result;
  result.push(root.value);
  preorder(root.left, result);
  preorder(root.right, result);
  return result;
}

// Postorder (Left, Right, Root)
function postorder(root, result = []) {
  if (!root) return result;
  postorder(root.left, result);
  postorder(root.right, result);
  result.push(root.value);
  return result;
}

// Level Order (BFS)
function levelOrder(root) {
  if (!root) return [];
  const result = [], queue = [root];
  while (queue.length) {
    const level = [], size = queue.length;
    for (let i = 0; i < size; i++) {
      const node = queue.shift();
      level.push(node.value);
      if (node.left) queue.push(node.left);
      if (node.right) queue.push(node.right);
    }
    result.push(level);
  }
  return result;
}