Menú Cerrar
Estructura de datos

Una estructura de datos es una forma de organizar datos de forma ordenada para que se pueda acceder a ellos con mayor facilidad. Tienen una relación entre ellos la cual nos permite manejarlos de forma más sencilla.

En esta entrada vamos a ver las bases de una estructura de datos sin código. Te voy a explicar cómo funcionan para que los puedas implementar en cualquier lenguaje. Más adelante implementaremos cada estructura en diferentes lenguajes.

En particular este es el contenido que vamos a ver.

Estructura de datos Listas

Una lista es un conjunto de datos enlazados en una orden bien definida. Para ilustrar esta estructura de datos, vamos a ver la siguiente imagen.

Estructura de datos lista

Como lo puedes ver, es un conjunto de elementos relacionados en una orden específica. Considéralo como una cadena. Las operaciones que se pueden hacen en una lista te las vamos a explicar usando la imagen anterior.

Digamos que te dan esta cadena y te dicen: ¡quita un número, y deja todo encadenado! Ya te estás haciendo las preguntas: ¿qué pasa si quito el primero, el segundo, el tercero, o el último? Bueno, el trabajo no es mucho si se trata de quitar el primero o el último, ¿verdad? Es por eso que en una lista, las operaciones más fáciles son: eliminar el primer elemento o el último. Lo complicado es cuando tienes que eliminar un valor en medio. Porque tienes que volver a enlazar la lista o la cadena.

Para concluir parcialmente: en una lista puedes hacer tres tipos de operaciones para recortar la lista. Eliminar al inicio, en medio o al final.

Y si ahora te dicen: ¡agrega un número y deja todo encadenado! Igual te has de dar cuenta de que puedes hacer tres tipos de operaciones. Otra vez las más sencillas son agregar al inicio y al final.

Recuerda: al eliminar al inicio, el segundo se vuelve primero. Al agregar al inicio, el primero se vuelve segundo. NO lo olvides para cuando codifiquemos.

Ahora vamos a ver el siguiente elemento de nuestro menú, las pilas.

Estructura de datos Pilas

Las pilas como dice la palabra, es un conjunto de elementos arreglados uno encimo del otro. Para ilustrar el concepto veamos la siguiente imagen.

Estructura de datos pilas

Vamos a pensar un rato: ¿cuáles son las operaciones que se pueden hacer en una pila?… ¡No te quiebres la cabeza! Solo puedes agregar encima del último elemento o eliminarlo, no te permite las mismas operaciones que la lista. Tal vez has escuchado el concepto Last In, First Out (LIFO) en nuestro idioma Último en Entrar Primero en Salir. Es la filosofía de las pilas, ¡NO lo olvides! ¿Ya entendiste el porqué solo se puede agregar encima del último elemento o eliminarlo? ¡Creo que sí!

¡Finalmente, vamos a ver el último elemento de nuestro menú!

Colas

Hemos repetido tanto esta palabra que sentimos que no se necesita mucho para explicarla ¿verdad? Bueno, vamos a hacer una ilustración de lo que es una cola y qué se puede hacer con ella en la programación.

Estructura de datos colas

A lo mejor el perfecto ejemplo para ti es la cola para comprar pan o tortilla ¿a quién atienden primero? ¡Al primero que llegó! ¿Quién sale primero de la cola? ¡El primero que llegó! Cuando llegas, ¿en qué lugar estás? ¡Al último! Estas preguntas y respuestas te han de haber dicho muchas cosas: ¡Que en la cola se agrega al final y se elimina al inicio! Son las operaciones que se pueden hacer en una cola.

Considera la cola de los vehículos llegando a una luz roja, el orden anterior se repite sin problema. En el mundo de la programación, a eso le llamamos First In, First Out (FIFO), bueno ¡eso es para los gringos! para nosotros es el Primero en Llegar el Primero en Salir.

Resumen de la entrada

Como resumen: en esta entrada te explicamos lo que son las lista, pilas y colas y cómo funcionan. Si eres más de códigos, déjame decirte que el entendimiento de los conceptos también es importante. ¡No puedes programar algo si no le entiendes! Tranquilo, mantente al día con nuestras publicaciones, muy pronto te traemos el código. ¡No olvides mostrar tu apoyo dejando un “Me gusta”!

Acerca del autor

Saintus Zephir

Ingeniero en Sistemas Computacionales y estudiante de Maestría en Ciencias en Ingeniería y Tecnologías Computacionales en el Centro de Investigación y de Estudios Avanzados del IPN (CINVESTAV-IPN).

Comparte el artículo en tus redes sociales

Artículos relacionados

8 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

× ¿Cómo puedo ayudarte?