Estructura de Datos
Memoria Estatica y Dinamica
Que es memoria?
En informática, la memoria (también llamada almacenamiento) se refiere a parte de los componentes que forman parte de una computadora, Son dispositivos que retienen datos informáticos durante algún intervalo de tiempo. Las memorias de computadora proporcionan unas de las principales funciones de la computación moderna, la retención o almacenamiento de información. Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una unidad central de procesamiento (CPU por su sigla en inglés, central processing unit), implementa lo fundamental del modelo de computadora de Arquitectura de von Neumann, usado desde los años 1940.
Que es estática?
En informática una variable estática es una variable cuyo valor no varía durante la vida del proceso en ejecución. Normalmente una variable estática tiene un ámbito más amplio que otras variables.
Los valores de variables estáticas se pueden establecer una vez (durante el tiempo de ejecución) o se pueden cambiar en múltiples ocasiones durante la ejecución del programa. La terminología "variable estática" se basa en C y C++, pero también se usa en muchos lenguajes de programación derivados. En lenguajes de diferente origen el mismo concepto puede denominarse "variable global".
Que es dinámica?
En informática, la programación dinámica es un método para reducir el tiempo de ejecución de un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas, como se describe a continuación.
El matemático Richard Bellman inventó la programación dinámica en 1953 que se utiliza para optimizar problemas complejos que pueden ser discretizados y secuencializados.
Memoria estática?
Es la memoria que se reserva en el momento de la compilación antes de comenzar a ejecutar el programa. Los objetos son creados al iniciar el programa y destruidos al finalizar el mismo. Mantienen la misma localización en memoria durante todo el transcurso del programa hasta que son destruidos.
Los objetos administrados de este modo son: variables globales, variables estáticas de funciones, miembros static de clases y literales de cualquier tipo.
Consideraciones
- Error en tiempo de ejecucion de indice fuera de rango
- Se debe conocer con anticipación el tamaño de la estructura V [3 ], M[2,2], C[5,3,2]
- Se guarda en memoria adyacente ejem
- Vectores, Matrices, Cubos, registros, archivos
Ventajas
- Lógica simple
- Optimo para resolverproblemas P y M
- Desventajas
- No se puede modificar el tamaño de las estructuras en T.D.E
- No se obtima con grandes cantidades de datos
- Desperdicio de momoria cando no se utiliza la totalidad del tamaño por ejem V[100]
Memoria Dinamica
La memoria dinámica se refiere a aquella memoria que no puede ser definida ya que no se conoce o no se tiene idea del número de la variable a considerarse, la solución a este problema es la memoria dinámica que permite solicitar memoria en tiempo de ejecución, por lo que cuanta más memoria se necesite, más se solicita al sistema operativo. El sistema operativo maneja la memoria gracias al uso de punteros, por la misma naturaleza del proceso nos impide conocer el tamaño de la memoria necesaria en el momento de compilar.
Un dato importante es que como tal este tipo de datos se crean y se destruyen mientras se ejecuta el programa y por lo tanto la estructura de datos se va dimensionando de forma precisa a los requerimientos del programa, evitándonos así perder datos o desperdiciar memoria si hubiéramos tratado de definirla cantidad de memoria a utilizar en el momento de compilar el programa.
Consideraciones
- Manejo transparente del tamaño de la estructura
- Se guarda donde se encuentra el espacio
- No se guarda necesariamente en memoria adyacente
Ventajas
- El tamaño de la estructura no infiere en la lógica del programa
Desventajas
las estructuras de datos son una forma avanzada de manejar datos en tiempo de ejecución
Memoria estática y dinámica
0 comentarios:
Publicar un comentario