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
push(1), push(2), push(3). ¿Qué devuelve el primer pop()?offer(1), offer(2), offer(3). ¿Qué devuelve el primer poll()?