Data structures in Java: stack, queue, linked list and tree

Stack (LIFO), queue (FIFO), linked list and binary search tree, with visualisers to see how they change as you add and remove elements.

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.

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().

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().

Linked list

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.

Binary search tree

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.

Check what you've learned