jueves, 31 de marzo de 2011
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. No todos los objetos (variables) pueden ser almacenados estáticamente. Para que un objeto pueda ser almacenado en memoria estática su tamaño (número de bytes necesarios para su almacenamiento) ha de ser conocido en tiempo de compilación, como consecuencia de esta condición no podrán almacenarse en memoria estática Memoria Dinámica ¿Qué es la memoria dinámica? Supongamos que nuestro programa debe manipular estructuras de datos de longitud desconocida. Un ejemplo simple podría ser el de un programa que lee las líneas de un archivo y las ordena. Por tanto, deberemos leer un número indeterminado de líneas, y tras leer la última, ordenarlas. Una manera de manejar ese ``número indeterminado'', sería declarar una constante MAX_LINEAS, darle un valor vergonzosamente grande, y declarar un array de tamaño MAX_LINEAS. Esto, obviamente, es muy ineficiente (y feo). Nuestro programa no sólo quedaría limitado por ese valor máximo, sino que además gastaría esa enorme cantidad de memoria para procesar hasta el más pequeño de los ficheros. Tipo de dato abstracto (TAD). Se define como un conjunto de valores que pueden tomar los datos de ese tipo, junto a las operaciones que los manipulan. TAD = valores (tipo de dato) + operaciones. La abstracci�n de datos encapsula u oculta los datos y s�lo permite su utilizaci�n mediante las operaciones que se han descrito. Las operaciones pueden ser de 3 tipos basicos: (G) Operaciones Generadoras, o costructoras (A) Operaciones de Acceso o Observacion (M) Operaciones de transformacion, Modificadores EJEMPLO. ESPECIFICACI�N DEL TAD CONJUNTO. Tipos de datos: Conjunto, elemento, l�gico. Operaciones: CONJUNTO_VACIO: -> conjunto (g), crea un conjunto vacio INSERTAR: elemento x conjunto -> conjunto (g), inserta un elemento en el conjunto g BORRAR: elemento x conjunto -> conjunto (m) UNION: conjunto x conjunto -> conjunto (m) INTERSECCI�N: conjunto x conjunto -> conjunto (m) DIFERENCIA: conjunto x conjunto -> conjunto (m) PERTENECE: elemento x conjunto -> l�gico (a) ES_VACIO: conjunto -> l�gico (a) Veremos dos maneras (Estaticas) de implementar el tipo conjuntos - Utilizando un vector de valores l�gicos, - Utilizando un vector que contine los elementos.
Clases de Estructura de Datos I
¿Que es Memoria?
En informática, la memoria (también llamada almacenamiento) se refiere a los componentes de una computadora, dispositivos y medios de almacenamiento que retienen datos informáticos durante algún intervalo de tiempo
Memoria Estática Tipo de dato abstracto (TAD). Se define como un conjunto de valores que pueden tomar los datos de ese tipo, junto a las operaciones que los manipulan. TAD = valores (tipo de dato) + operaciones. La abstracci�n de datos encapsula u oculta los datos y s�lo permite su utilizaci�n mediante las operaciones que se han descrito. Las operaciones pueden ser de 3 tipos basicos: (G) Operaciones Generadoras, o costructoras (A) Operaciones de Acceso o Observacion (M) Operaciones de transformacion, Modificadores EJEMPLO. ESPECIFICACI�N DEL TAD CONJUNTO. Tipos de datos: Conjunto, elemento, l�gico. Operaciones: CONJUNTO_VACIO: -> conjunto (g), crea un conjunto vacio INSERTAR: elemento x conjunto -> conjunto (g), inserta un elemento en el conjunto g BORRAR: elemento x conjunto -> conjunto (m) UNION: conjunto x conjunto -> conjunto (m) INTERSECCI�N: conjunto x conjunto -> conjunto (m) DIFERENCIA: conjunto x conjunto -> conjunto (m) PERTENECE: elemento x conjunto -> l�gico (a) ES_VACIO: conjunto -> l�gico (a) Veremos dos maneras (Estaticas) de implementar el tipo conjuntos - Utilizando un vector de valores l�gicos, - Utilizando un vector que contine los elementos. 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. No todos los objetos (variables) pueden ser almacenados estáticamente.
Memoria Dinámica ¿Qué es la memoria dinámica? Supongamos que nuestro programa debe manipular estructuras de datos de longitud desconocida. Un ejemplo simple podría ser el de un programa que lee las líneas de un archivo y las ordena. Por tanto, deberemos leer un número indeterminado de líneas, y tras leer la última, ordenarlas. Una manera de manejar ese ``número indeterminado'', sería declarar una constante MAX_LINEAS, darle un valor vergonzosamente grande, y declarar un array de tamaño MAX_LINEAS. Esto, obviamente, es muy ineficiente (y feo). Nuestro programa no sólo quedaría limitado por ese valor máximo, sino que además gastaría esa enorme cantidad de memoria para procesar hasta el más pequeño de los ficheros.
Suscribirse a:
Entradas (Atom)