Estructuras de datos en Java: pila, cola, lista enlazada y árbol
Pila (LIFO), cola (FIFO), lista enlazada y árbol binario de búsqueda, con visualizadores para ver cómo cambian al insertar y sacar elementos.
Una estructura de datos es una forma de organizar la información para que ciertas operaciones sean rápidas. Java ya trae casi todas listas para usar; aquí ves cómo funcionan por dentro.
Pila (Stack) — LIFO
Last In, First Out: el último en entrar es el primero en salir, como una pila de platos.
En Java: Deque<Integer> pila = new ArrayDeque<>(); con
push(), pop() y peek().
Cola (Queue) — FIFO
First In, First Out: el primero en entrar es el primero en salir, como la cola del
supermercado. En Java: Queue<Integer> cola = new LinkedList<>(); con
offer(), poll() y peek().
Lista enlazada
Cada elemento (nodo) guarda su valor y un puntero al siguiente. Insertar o borrar al principio es instantáneo; acceder al elemento n obliga a recorrer desde el principio.
Árbol binario de búsqueda
Cada nodo tiene hasta dos hijos. A la izquierda, valores menores; a la derecha, mayores. Buscar es rápido
(O(log n) si está equilibrado) y recorrerlo inorden devuelve los datos ordenados.
Comprueba lo aprendido
push(1), push(2), push(3). ¿Qué devuelve el primer pop()?offer(1), offer(2), offer(3). ¿Qué devuelve el primer poll()?