¿Qué son las estructuras de datos?
Las estructuras de datos son mecanismos y técnicas que son usadas para almacenar y organizar datos, es una forma de organizar los datos en una computadora para que se pueda acceder a ellos (los datos) y actualizarlos de manera eficiente.
Dependiendo de sus requisitos y proyecto, es importante elegir la estructura de datos adecuada para su proyecto. Por ejemplo, si desea almacenar datos secuencialmente en la memoria, puede optar por la estructura de datos de Array.
Representación de estructura de datos de Array |
Nota: Las estructuras y los tipos de datos son ligeramente diferentes. Las estructuras de datos son la colección de tipos de datos dispuestos en un orden específico.
Tipos de estructuras de datos
Básicamente, las estructuras de datos se dividen en dos categorías:
- Estructuras de datos lineal
- Estructuras de datos no lineal
Conozcamos cada tipo en detalle.
Estructuras de datos lineales
En las estructuras de datos lineales, los elementos están ordenados uno tras otro. Dado que los elementos están dispuestos en un orden particular, son fáciles de implementar.
Sin embargo, cuando la complejidad del programa aumenta, las estructuras de datos lineales pueden no ser la mejor opción debido a las complejidades operativas.
Las estructuras de datos lineales populares son:
-
Estructura de datos de Array
En un Array, los elementos de la memoria se organizan en memoria continua. Todos los elementos de un Array son del mismo tipo. Y el tipo de elementos que se pueden almacenar en forma de Array está determinado por el lenguaje de programación.
Para obtener más información, visite Python List.
En un Array cada elemento es representado por un índice |
- Estructura de datos de Stack
En la estructura de datos de Stack, los elementos se almacenan según el principio LIFO. Es decir, el último elemento almacenado en un Stack se eliminará primero.
Funciona como una pila de platos donde se retirará el último plato que quede en la pila.
En un Stack, las operaciones se pueden realizar solo desde un extremo |
- Estructura de datos de Queue
A diferencia del Stack, la estructura de datos de la Queue funciona según el principio FIFO, donde el primer elemento almacenado en la Queue se eliminará primero.
Funciona como una cola de personas en el mostrador de boletos, donde la primera persona en la cola obtendrá el boleto primero.
Para obtener más información, visite Estructura de datos de Queue.
En la Queue, agregar y eliminar datos se realizan desde extremos separados |
- Estructura de datos de Linked List
En la estructura de datos de Linked List, los elementos de datos están conectados a través de una serie de nodos. Y cada nodo contiene los elementos de datos y la dirección del siguiente nodo.
Para obtener más información, visite Estructura de datos de Linked List.
Una lista enlazada |
Estructuras de datos no lineales
A diferencia de las estructuras de datos lineales, los elementos de las estructuras de datos no lineales no están en ninguna secuencia. En cambio, están organizados de manera jerárquica donde un elemento estará conectado a uno o más elementos.
Las estructuras de datos no lineales se dividen a su vez en estructuras de datos basadas en grafos y árboles.
- Estructura de datos de Grafo
En la estructura de datos de Grafo, cada nodo se llama vértice y cada vértice está conectado a otros vértices a través de aristas.
Para obtener más información, visite Estructura de datos de Grafo.
Ejemplo de estructura de datos de grafo |
Estructuras de datos populares basadas en grafos:
- Árbol de expansión y árbol de expansión mínimo
- Componentes fuertemente conectados
- Matriz de adyacencia
- Lista de adyacencia
- Estructura de datos de árboles
Similar a un grafo, un árbol también es una colección de vértices y aristas. Sin embargo, en una estructura de datos de árbol, solo puede haber una arista entre dos vértices.
Para obtener más información, visite Estructura de datos de árbol.
Ejemplo de estructura de datos de árbol |
Estructuras de datos populares basadas en árbol:
Estructuras de datos lineales VS no lineales
Ahora que conocemos las estructuras de datos lineales y no lineales, veamos las principales diferencias entre ellas.
Estructuras de datos lineales versus no lineales |
Por qué estructura de datos?
El conocimiento sobre las estructuras de datos le ayudará a comprender el funcionamiento de cada estructura de datos. Y, en base a eso, puede seleccionar las estructuras de datos adecuadas para su proyecto.
Esto le ayuda a escribir código eficiente en memoria y tiempo.
Siguiente Entrada: ¿Por qué aprender estructuras de datos y algoritmos?