Qué son y porqué es crucial que lo sepas
¿Qué son las estructuras de datos?
Según Wikipedia: <<En ciencias de la computación, una estructura de datoses una forma particular de organizar información en un computador para que pueda ser utilizada de manera eficiente. Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y algunos son altamente especializados para tareas específicas.>>
Cada estructura de datos es una colección de valores o elementos, que presenta una determinada relación entre estos y define las funciones y operaciones que se pueden realizar sobre los mismos, como agregar o quitar elementos, buscar y localizarlos u ordenarlos/clasificarlos según un criterio específico. Dichas estructuras se basan en la capacidad de una computadora para recuperar y almacenar datos en cualquier lugar de su memoria.
💡 ¿Qué son los datos? Los datos son los bloques básicos de la programación. Ellos representan una unidad o un elemento de información que puede ser accedido a través de un identificador, por ejemplo, una variable.
Las estructuras de datos nos permiten, como desarrolladores, organizar la información de manera eficiente, y en consecuencia, diseñar algoritmos eficientes que nos permitan dar una buena solución a un problema determinado.
Tipos de estructuras de datos
Las estructuras de datos pueden ser de distintos tipos, presentando así diferentes características que es crucial conocer y entender. Estos tipos son:
- Lineales: los datos son almacenados en una secuencia ordenada, donde cada elemento se adjunta a su anterior y siguiente adyacente.
- No lineales: los elementos no están organizados secuencial o linealmente. Implementación más difícil, pero mejor uso de memoria.
- Homogéneas: todos los datos que componen la estructura son del mismo tipo.
- Heterogéneas: la estructura contiene datos de distintos tipos.
- Estáticas: el tamaño ocupado en memoria se define antes de que el programa se ejecute y dicho tamaño no puede ser modificado en tiempo de ejecución.
- Dinámicas: contrario a las estáticas, el tamaño en memoria puede ser modificada durante la ejecución del programa.
Por último, estas son las estructuras de datos más utilizadas (cada nombre en naranja es un enlace al artículo corrrespondiente):
- Arreglos (Arrays)
- Tablas Hash (Hash Tables)
- Listas enlazadas (Linked lists)
- Pilas y colas (Stacks and Queues)
- Árboles (Trees)
- Grafos (Graphs)
- Montículos (Heaps)
- Árboles de prefijo (Tries)
En caso de que necesites más información, te dejo otros artículos para complementar que, a su vez, son las fuentes sobre las cuales basé mi investigación para escribir este post.
- https://www.aluracursos.com/blog/estructura-de-datos-introduccion
- https://blog.soyhenry.com/que-es-una-estructura-de-datos-en-programacion/
- https://barcelonageeks.com/diferencia-entre-estructuras-de-datos-lineales-y-no-lineales/
Conclusión
Las estructuras de datos son un tópico considerado como una piedra fundamental del desarrollo de software. Es un conocimiento que te permitirá avanzar en tu carrera como dev y te permitirá mejorar tu trabajo y aplicaciones. Espero que lo que te conté acá te haya despertado la curiosidad por saber más 😉En próximos posts hablaré sobre cada estructura de datos mencionada en este artículo. Mi idea es hablar sobre qué son, para qué suelen utilizarse, la complejidad algorítmica de cada una y cómo están implementadas en algunos lenguajes de programación, entre otras cosas.Te animo a guardar este post en los marcadores de tu navegador, ya que servirá de "hub" (centro) desde el cual podrás navegar hacia los futuros artículos que publicaré al respecto.¡Hasta otra! 👋