Estructuras de datos

  • Por
Qué son las estructuras de datos más fundamentales en en mundo de la programación, y cómo se implementan algunos ejemplos en Javascript.

En este vídeo os presentamos uno de los contenidos básicos que todo programador debe conocer cuando está empezando, como son las estructuras de datos. Es una clase del Curso de los fundamentos de la programación, que impartimos a principios de 2015. La clase la ofreció José Dimas Luján, profesor de universidad en Cancún.

La clase trata de explicar en términos generales qué son las estructuras de datos y por qué son importantes en el mundo de la programación, aplicaciones e implementaciones básicas.

¿Qué son las estructuras de datos?

Pensemos en algunas cosas del día a día. Siempre tenemos necesidades básicas, como agrupar las cosas. Por ejemplo el armario de tu casa, donde tienes un conjunto de camisetas, no las mezclas con los zapatos o los pantalones ¿no? Las estructuras de datos en la programación te sirven para acomodar los datos de cierta forma.

Los tipos de estructuras de datos que se usan en la programación también son similares a los que encuentras en tu día a día. Por ejemplo, las camisetas de tu armario probablemente estén una encima de la otra y muchas veces (al menos los hombres solemos hacer eso) coges la camiseta que está arriba del todo porque es la más fácil de retirar y porque no quieres preocuparte con aquello de "qué me pongo hoy". Fuera de bromas, estructuras de datos encuentras en la pila de lavar los platos, en la cola de los ingresos del cine, en la fila para subir al autobús, etc. Ahora solo falta verlas en términos de programación.

Además, en cada lenguaje de programación podemos usar diferentes estructuras de datos y diferentes implementaciones de las más básicas, como las listas, colas, pilas, que suelen estar presentes en la mayoría de los lenguajes. Si entendemos el concepto, importa poco la sintaxis, porque la podremos realizar nosotros mismos en términos de código o la encontraremos en diversas fuentes como libros o tutoriales.

Tipo más usado de las estructuras de datos: arrays, arreglos

A los arrays, palabra inglesa muy usada en términos de programación, también los conocemos como arreglos, vectores, matrices, etc. No importa mucho cómo quieras referirte a ellos, el caso es que están representados en casi todos los lenguajes de programación y se usan intensivamente para hacer todo tipo de programas y estructuras más complejas.

Un array es una estructura de datos y es la más usada en la programación. Un array es un contenedor donde podemos agrupar diversos elementos dispuestos en casillas. Puede haber arrays de una única dimensión o de varias dimensiones.

Empezando por arrays de una única dimensión, lo puedes entender como una barra con casillas, cada casilla es como una variable, solo que está agrupada con otras. Así pues, en un array tenemos diversas posiciones y en cada una de ellas se puede almacenar un dato. En cada posición de esa estructura de arreglo encontramos un dato diferente y para poder referirnos a él usamos lo que se llaman índices.

En Javascript solo hay arrays con índices numéricos y la primera casilla de un array siempre empieza por el índice cero. Por tanto, un array de 10 posiciones iría desde el índice cero hasta el nueve.

Sin embargo podemos tener arrays de varias dimensiones, por lo que pasaríamos de tener una estructura parecida a un vector (vectores de las matemáticas), a una estructura de matriz, con varias dimensiones.

Te sugiero ver el vídeo completo, al pie de este texto, para más aclaraciones.

Estructuras de datos más complejas

Sin abandonar la sencillez necesaria en estas clases de iniciación a la programación, en este vídeo luego se abordaron otras estructuras de datos más complejas, como las listas y sus comportamientos: pilas y colas.

Para saber cómo son y cómo se comportan estas estructuras de datos simples, piensa nuevamente en cosas de tu día a dia. Los platos para fregar en la cocina se organizan en una pila. Los platos sucios se colocan encima del todo y cuando vas a fregarlos el primero que tomas es el que tienes arriba. Una cola (o en lugares también llamada fila) es como cuando vas al cine y quieres comprar tu entrada en la taquilla. El último que llega se coloca detrás y la taquillera atiende primero al que llegó antes.

Esas estructuras de datos se implementan por medio de arrays, a los que se les otorga un poco de "inteligencia" por medio de código de programación. En este vídeo se ofrecen diversas implementaciones en Javascript. Nuevamente, te sugerimos prestar atención a la segunda mitad del vídeo para poder obtener más información.

Funciones de los lenguajes para trabajo con estructuras de datos

Todos los lenguajes tienen diversas funciones que ofrecen al programador para hacer cosas habituales con las estructuras. Por ejemplo, dado un array es habitual que necesites ordenarlo, de mayor a menor, menor a mayor, orden alfabético, etc. Para todo eso generalmente los lenguajes tienen diversas funciones que también revisamos en el vídeo.

Claro que ya esas implementaciones y el abanico de posiblidades de funciones ya listas dependen de la riqueza del lenguaje y de los tipos de estructuras de datos que ellos nos ofrecen. En el vídeo nos centramos en Javascript, sin dejar de mencionar que si vas a Java tendrás otras estructuras ya listas y sus funciones, así como en Python, PHP, etc.

En el siguiente vídeo encontrarás mucha más información, así que te recomendamos concentrarte durante unos minutos para aprovecharlo al máximo y conocer algunas de las cosas típicas que se hacen en todos los programas, tanto los más simples como aquellos más complejos. Si te gusta el vídeo, no dejes de darle al botoncito con el pulgar levantado!

Autor

José Dimas Luján

Profesor de universidad. Ha trabajado en varias universidades de El Caribe, México y de EscuelaIT. Experto en lenguajes como PHP, Python, Perl, JavaScript, Java, Pascal, Delphi, C++, Visual Studio, ActionScript, así como HTML5 y CSS3. "Compartir es aprender 2 veces"
José Dimas es fundador de Ockham Ti, empresa de desarrollo de software, app móviles, videojuegos y cursos.

Compartir