Que es una estructura de datos
Enviado por gerabaez • 19 de Febrero de 2018 • Resumen • 834 Palabras (4 Páginas) • 277 Visitas
Resumen:
“Conceptos básicos de E.D”
Estructura de datos
El modelo matemático o lógico de una organización particular de datos recibe el nombre de estructura de datos, se puede considerar como un conjunto de variables que se relacionan entre si y que se pueden operar como un todo, lo cual implica un conjunto de celdas en las que se pueden almacenar estos datos.
Una estructura de datos tiene que ser lo suficientemente simple para que los datos puedan ser procesados de forma eficiente cuando sea necesario.
Clasificación
Array lineal: Es la estructura de datos más simple, un array lineal es una lista de un numero finito de datos similares, referenciados por medio de un conjunto de números consecutivos, Los arrays lineales reciben el nombre de unidimensionales debido a que cada elemento del mismo se referencia a través de un solo índice
Array bidimensional: Es una colección de datos similares donde cada elemento se referencia por 2 índices
Árbol: Los datos presentan frecuentemente relaciones de jerarquía entre ellos, la estructura de datos que refleja esta relación recibe el nombre de grafo en árbol o simplemente árbol
Pila: Una pila también denominada sistema ultimo-dentro primero –fuera (LIFO), es una lista lineal en la cual las inserciones y extracciones tienen lugar solo por un extremo llamado cúspide
Cola: Denominada también sistema primero-dentro primero fuera (FIFO), es una lista lineal en la cual las extracciones se realizan siempre por un extremo llamado frente y las inserciones por el extremo contrario llamado final de la lista
Grafos: Los datos contienen en algunos casos, relaciones entre ellos que no son necesariamente jerárquicas.
Memoria estática
La forma más fácil de almacenar el contenido de una variable en memoria en tiempo de ejecución es en memoria estática o permanente a lo largo de toda la ejecución del programa. O sea, que no se modifica al menos en tiempo de ejecución.
Ventajas
- La velocidad de acceso es alta.
- Para retener los datos solo necesita estar energizada.
- Lógica simple.
- Son más fáciles de diseñar.
Desventajas:
- No se puede modificar el tamaño de la estructura en tiempo de ejecución.
- No es óptimo con grandes cantidades de datos.
- Menor capacidad, debido a que cada celda de almacenamiento requiere más transistores.
- Mayor costo por bit.
- Mayor consumo de Potencia
Estructuras de datos que las utilizan:
Arreglos
Memoria dinámica
La memoria dinámica es un espacio de almacenamiento que se solicita en tiempo de ejecución. De esa manera, a medida que el proceso va necesitando espacio para más líneas, va solicitando más memoria al sistema operativo para guardarlas.
Ventajas:
- Es posible disponer de un espacio de memoria arbitrario que dependa de información dinámica (disponible sólo en ejecución): Toda esa memoria que maneja es implementada por el programador cuando fuese necesario.
- Puede ir incrementando durante la ejecución del programa. Esto permite, por ejemplo, trabajar con arreglos dinámicos.
- Es memoria que se reserva en tiempo de ejecución. Su tamaño puede variar durante la ejecución del programa y puede ser liberado mediante la función free.
Desventajas:
- Es difícil de implementar en el desarrollo de un programa o aplicación.
- Es difícil implementar estructuras de datos complejas como son los tipos recursivos (árboles, grafos, etc.).Por ello necesitamos una forma para solicitar y liberar memoria para nuevas variables que puedan ser necesarias durante la ejecución de nuestros programas
- Es más difícil de manejar.
- La memoria dinámica puede afectar el rendimiento. Puesto que con la memoria estática el tamaño de las variables se conoce en tiempo de compilación, esta información está incluida en el código objeto generado. Cuando se reserva memoria de manera dinámica,
- Se tienen que llevar a cabo varias tareas, como buscar un bloque de memoria libre y almacenar la posición y tamaño de la memoria asignada, de manera que pueda ser liberada más adelante. Todo esto representa una carga adicional, aunque esto depende de la implementación y hay técnicas para reducir su impacto.
Estructuras de datos que las utilizan:
Listas y árboles ya que el número de elementos que las forman no es conocido hasta que el programa se ejecuta.
Tipos de datos abstractos:
Es un conjunto de datos u objetos al cual se le asocian operaciones. El TDA provee de una interfaz con la cual es posible realizar las operaciones permitidas, abstrayéndose de la manera en como estén implementadas dichas operaciones. Esto quiere decir que un mismo TDA puede ser implementado utilizando distintas estructuras de datos y proveer la misma funcionalidad.
...