Qué es una estructura de datos
Cuando guardas cosas, ¿en qué las pones? A veces las pones en fila, a veces las metes en un cajón dividido en compartimentos y a veces las cuelgas en forma de ramas. Incluso las mismas cosas son más fáciles o más difíciles de sacar según dónde las guardes. Con la información pasa igual. Guardar información también tiene una forma, y en esta lección a esa forma la llamamos recipiente.
La misma información, formas distintas
Imagina que tienes los nombres de cinco amigos. ¿Cómo podrías guardarlos? Podrías ponerlos en una larga fila, meterlos en una tabla dividida en casillas o repartirlos de arriba abajo como ramas y colgarlos ahí.
El contenido es el mismo, pero la forma que lo guarda es completamente distinta. En esta lección a esa forma la llamamos recipiente; en informática se llama estructura de datos.
Guarda los mismos nombres en una fila, una tabla y una rama, por turno. El contenido sigue igual, pero la forma cambia.
Aunque la forma cambió, los nombres de dentro siguieron siendo los mismos. Aun así, cada forma servía para algo un poco distinto.
La fila muestra el orden de un vistazo, la tabla facilita señalar una casilla y la rama muestra quién está por encima de quién. Entonces, ¿qué forma conviene elegir?
Un recipiente que encaje con la tarea
No se usa cualquier recipiente. Primero hay que pensar en la tarea que quieres hacer. Si quieres recorrerlo todo en orden, conviene guardarlo en una fila. Si quieres encontrar algo en cuanto dices su nombre, es mejor una tabla.
Si quieres saber quién está debajo de quién, la rama encaja bien, como el organigrama de una empresa o las carpetas de una computadora. Incluso con la misma información, el recipiente adecuado cambia según el propósito.
Toca la tarea que quieres. El recipiente que mejor encaja se ilumina y te dice por qué.
Cada vez que tocaste una tarea distinta, se iluminó otro recipiente. No hay un recipiente que sea siempre la respuesta correcta: lo que quieres hacer es lo que decide.
Si importa el orden, una fila; si importa encontrar rápido, una tabla. Pero hay algo más: ningún recipiente hace todas las tareas igual de bien.
Tareas rápidas y tareas lentas
Imagina que ya elegiste un recipiente. Entre las acciones que haces con él, algunas son muy rápidas y otras bastante lentas.
Piensa en una fila. Recorrerla desde el principio es rápido. Pero para meter un nombre nuevo en el medio, todos los nombres que van detrás tienen que correrse un lugar, así que es lento. Cada recipiente tiene tareas que se le dan bien y tareas que se le dan mal.
Elige un recipiente y luego toca una acción. Incluso en el mismo recipiente, las acciones rápidas y las lentas se separan.
Incluso dentro del mismo recipiente, las tareas rápidas, marcadas en verde, y las lentas, marcadas en rojo, se separaron. Por eso, al elegir un recipiente, primero miras qué es lo que vas a hacer más a menudo.
Un recipiente que es rápido en lo que haces a menudo es una buena elección. Con solo diez nombres la diferencia es pequeña, pero con un millón la misma tarea puede terminar en un abrir y cerrar de ojos o tardar mucho. Incluso con los mismos datos, cómo los guardas decide si algo es rápido o lento.
Una probadita de los recipientes principales
Probemos un poco, solo los nombres, los recipientes que veremos a menudo. El que guarda las cosas en orden como una fila y permite sacar una por su número es el arreglo. El que guarda pares con una etiqueta se llama diccionario.
El que mete y saca solo por un extremo es la pila, y el que hace fila para que el primero en llegar sea el primero en salir es la cola. La forma de ramas que se divide de arriba abajo se llama árbol. Por ahora basta con recordar los nombres y la idea.
Toca los recipientes principales para pasarlos. Cada uno muestra una presentación de una línea y las tareas para las que sirve.
No pasa nada si los nombres te suenan un poco raros. Que hay muchos tipos de recipientes y que cada uno sirve para ciertas tareas: con eso basta por ahora.
Cada uno se trata con detalle en las lecciones que siguen. Antes, reunamos en una línea lo que hemos aprendido.
En resumen
En pocas palabras: guardar información también tiene una forma, un recipiente. Incluso los mismos datos se pueden guardar con formas distintas, como una fila, una tabla o una rama.
El recipiente se elige según la tarea, y un mismo recipiente es rápido en unas tareas y lento en otras. Por eso, elegir bien hace que un programa sea más rápido. Incluso con los mismos datos, cómo los guardas decide la velocidad: esa es la clave.
Toca en orden los puntos clave para repasar. (la información tiene forma → un recipiente que encaja → tareas rápidas y lentas → una probadita de recipientes)
Ahora ya sabes que la información también tiene forma. Has ganado un poco de ojo para elegir recipientes.
En la próxima lección miramos de cerca el recipiente más básico, el arreglo, y el secreto de su rapidez: numerar cada casilla para sacar cualquier elemento en cuanto dices su número.