MANEJO DE MEMORIA
Estructuras de Datos: Conceptos <ul><li>Conjunto de datos de tipos iguales o diferentes que se relacionan entre si y que s...
Estructuras de Datos: Implementación <ul><li>Para implementar algunas estructuras de datos, primero es necesario tener muy...
Memoria Estática:  Conceptos de Arreglos <ul><li>Definición: Colección finita, homogénea y ordenada de elementos.  Finita ...
Arreglos Unidimensionales <ul><li>Son los arreglos más simples y constan de un solo índice, también se llaman  vectores . ...
Arreglos Unidimensionales <ul><li>Los arreglos se almacenan en forma adyacente, así que su representación en memoria es: <...
Arreglos Bidimensionales <ul><li>Estos arreglos constan de dos índices, también se llaman  matrices . </li></ul><ul><li>No...
Registros(Estructuras) <ul><li>Un registro es una colección de datos, que pueden ser de diferentes tipos. Cada uno de sus ...
Arreglos y Registros <ul><li>Se pueden presentar las siguientes combinaciones: </li></ul><ul><li>Arreglos de Registros : C...
Arreglos y Registros <ul><li>Registro Anidado : Por lo menos un campo del registro es de tipo registro. </li></ul>Tipo reg...
Arreglos y Registros <ul><li>Registro con Arreglos : Por lo menos un campo del registro es un array. </li></ul>Array [0......
Memoria  Dinámica :  Apuntadores <ul><li>Las variables contienen valores específicos, las variables apuntador contienen di...
Apuntadores <ul><li>Operadores : Una variable apuntador responde a dos operadores: </li></ul><ul><ul><li>Operando de Direc...
Asignación de Memoria Dinámica <ul><li>Es el proceso por el cual a una estructura,  sea cual fuere, se le coloca a apuntar...
Upcoming SlideShare
Loading in …5
×

Manejo De Memoria

12,232 views

Published on

menejo de memoria estatica y dinamica

Published in: Business, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
12,232
On SlideShare
0
From Embeds
0
Number of Embeds
233
Actions
Shares
0
Downloads
244
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Manejo De Memoria

  1. 1. MANEJO DE MEMORIA
  2. 2. Estructuras de Datos: Conceptos <ul><li>Conjunto de datos de tipos iguales o diferentes que se relacionan entre si y que se pueden operar como un todo. </li></ul>Entero, Real, Carácter, Lógico Datos Simples Hacen referencia a un único valor a la vez en memoria Datos Estructurados Se refieren a un grupo de casillas de memoria Est á ticos Dinámicos Arreglos, Registros, Archivos, Cadenas Listas, Arboles, Grafos
  3. 3. Estructuras de Datos: Implementación <ul><li>Para implementar algunas estructuras de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria. </li></ul><ul><li>La diferencia entre estructuras estáticas y dinámicas es el manejo de memoria. </li></ul>Estática Durante la ejecución del programa el tamaño de la estructura no cambia Dinámica Durante la ejecución del programa el tamaño de la estructura puede cambiar
  4. 4. Memoria Estática: Conceptos de Arreglos <ul><li>Definición: Colección finita, homogénea y ordenada de elementos. Finita : Porque todo arreglo tiene un límite. Homogénea : Porque todos los elementos son del mismo tipo. Ordenada : Porque se puede determinar cuál es el enésimo elemento. </li></ul><ul><li>Un arreglo tiene dos partes: Componentes e índices </li></ul>C 1 C 2 .... C n i 0 i 1 i n Componentes Í ndices <ul><li>Componentes : Hacen referencia a los elementos que forman el arreglo. </li></ul><ul><li>Í ndices : Permiten referirse a los componentes del arreglo en forma individual. </li></ul>
  5. 5. Arreglos Unidimensionales <ul><li>Son los arreglos más simples y constan de un solo índice, también se llaman vectores . </li></ul><ul><li>Notación: Podría ser de diferentes maneras. Por ej: </li></ul><ul><li>Array [0...9] de enteros: Vector </li></ul><ul><li>Vector: x </li></ul>14 43 .... 4 x 0 x 1 x 9 Componentes Í ndices <ul><li>X hace referencia a todo el vector, mientras que x 0 , o x 1 hace referencia los elementos en forma individual </li></ul>
  6. 6. Arreglos Unidimensionales <ul><li>Los arreglos se almacenan en forma adyacente, así que su representación en memoria es: </li></ul>X 0 ,Dirección z; X 1 ,Dirección z+1; X n ,Dirección z+n <ul><li>Cada elemento del arreglo se puede procesar como si fuera una variable simple.Ej: </li></ul>i 3 <ul><li>Sobre los vectores se pueden realizar las siguientes operaciones: Lectura / Escritura, Asignación, Actualización (insertar, eliminar, modificar), Ordenamiento y Búsqueda. </li></ul>Suma Suma + x[2] X[2] 15 X[i] 15 X[i+2] 15
  7. 7. Arreglos Bidimensionales <ul><li>Estos arreglos constan de dos índices, también se llaman matrices . </li></ul><ul><li>Notación: Podría ser de diferentes maneras. Por ej: </li></ul><ul><li>Array [0...2, 0...2] de enteros: Matriz </li></ul><ul><li>Matriz: M </li></ul>34 43 90 0 1 2 Componentes Índices 83 2 41 56 75 3 0 1 2 <ul><li>Operaciones: Lectura, Escritura, Asignación. </li></ul>
  8. 8. Registros(Estructuras) <ul><li>Un registro es una colección de datos, que pueden ser de diferentes tipos. Cada uno de sus elementos se llama Campo . </li></ul><ul><li>Notación: Podría ser de diferentes maneras. Por ej: </li></ul><ul><li>Tipo registro: Domicilio </li></ul><ul><li>Entero: Calle </li></ul><ul><li>Entero: Numero </li></ul><ul><li>Cadena: Ciudad </li></ul><ul><li>Fin Tipo </li></ul><ul><li>Domicilio: dir </li></ul><ul><li>El acceso a los campos se hace así: variable_registro.id_campo . </li></ul><ul><li>Por Ej: dir.Calle, dir.Numero, dir.Ciudad. </li></ul>Numero Ciudad Calle Domicilio
  9. 9. Arreglos y Registros <ul><li>Se pueden presentar las siguientes combinaciones: </li></ul><ul><li>Arreglos de Registros : Cada elemento del registro es un arreglo. </li></ul>Tipo registro: Cliente Cadena : Nombre Cadena : Teléfono Real : Saldo Fin Tipo Array [0... 2 ] de Cliente : Vector Notación: Vector[0].Nombre Vector N T S N T S N T S 0 1 2
  10. 10. Arreglos y Registros <ul><li>Registro Anidado : Por lo menos un campo del registro es de tipo registro. </li></ul>Tipo registro: Domicilio Entero: Calle Entero: Numero Cadena: Ciudad Fin Tipo Tipo registro: Cliente Cadena : Nombre Domicilio : Dirección Real : Saldo Fin Tipo Cliente Notación: Cliente.Nombre Cliente.Dirección.Calle Dirección Cll Num Ciu Nombre Saldo
  11. 11. Arreglos y Registros <ul><li>Registro con Arreglos : Por lo menos un campo del registro es un array. </li></ul>Array [0... 2 ] de Real : Vector Tipo registro: Estudiante Cadena : Nombre Cadena: Código Vector : Notas Fin Tipo Notación: Estudiante.Nombre Estudiante. Notas[0] Estudiante Notas Nombre Código
  12. 12. Memoria Dinámica : Apuntadores <ul><li>Las variables contienen valores específicos, las variables apuntador contienen direcciones de memoria de otras variables. </li></ul><ul><li>La variable “ptrcont” contiene la dirección de memoria de la variable “cont” </li></ul><ul><li>Las variables apuntador están asociadas a un tipo de dato. Por ej. Si el valor de cont es entero la variable apuntador ptrcont debe ser de tipo entero. </li></ul>2 cont 29DC ptrcont
  13. 13. Apuntadores <ul><li>Operadores : Una variable apuntador responde a dos operadores: </li></ul><ul><ul><li>Operando de Dirección(&) : Que devuelve la dirección de su operando. Por ej: </li></ul></ul><ul><ul><ul><li>Entero Y, *ptry </li></ul></ul></ul><ul><ul><ul><li>Y 5 </li></ul></ul></ul><ul><ul><ul><li>Ptry &Y </li></ul></ul></ul><ul><ul><li>Operando de Indirección(*) : Que devuelve el alias de su operando. Por ej: </li></ul></ul><ul><ul><ul><li>Entero Y, *ptry </li></ul></ul></ul><ul><ul><ul><li>Y 5 </li></ul></ul></ul><ul><ul><ul><li>Ptry &Y </li></ul></ul></ul><ul><ul><ul><li>Escribir(*Ptry) </li></ul></ul></ul>
  14. 14. Asignación de Memoria Dinámica <ul><li>Es el proceso por el cual a una estructura, sea cual fuere, se le coloca a apuntar una variable del mismo tipo y sobre ese apuntador se reserva o se libera memoria de acuerdo a si la estructura crece o decrece. </li></ul>

×