SlideShare una empresa de Scribd logo
1 de 16
27/01/15
ESTRUCTURA DE DATOS IESTRUCTURA DE DATOS I
MEMORIA DINAMICAMEMORIA DINAMICA
EXPOSITOR:EXPOSITOR:
Ing. Evans Balcazar VeizagaIng. Evans Balcazar Veizaga
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Introducción
Una buena comprensión y un buen dominio de los punteros pondrán en tu
mano una herramienta de gran potencia. Un conocimiento mediocre o
incompleto te impedirá desarrollar programas eficaces.
Ahora veremos como funciona los punteros. Un entero es un tipo especial
de variable que contiene una dirección de memoria. A partir de esa
dirección de memoria puede haber cualquier tipo de objeto : un char, int,
float, un array, una estructura, una función u otro puntero
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Que es la Memoria Dinamica
Es la forma de implementación de una estructura de datos usando la memoria
en forma dinámica del computador, esto consiste en que nuestro programa o
estructura de dato solicite un espacio de memoria libre al Sistema Operativo,
el Sistema Operativo verifica si existe el tamaño solicitado y lo asigna si lo
hubiera ,caso contrario devuelve un puntero nulo.
De la misma forma solicitada una ves ya no usada se debe devolver al
Sistema Operativo.
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Características de las Memorias Dinámicas
Así, durante la ejecución de un programa puede haber una posición de memoria
especifica asociada con una variable dinámica y posteriormente puede no existir ningún
posición de memoria asociada con ella.
•Una de las aplicaciones más interesantes y potentes de la memoria dinámica y los
punteros son las estructuras dinámicas de datos.
En muchas ocasiones se necesitan estructuras que puedan cambiar de tamaño durante la
ejecución del programa.
•Las estructuras dinámicas nos permiten crear estructuras de datos que se adapten a las
necesidades reales a las que suelen enfrentarse nuestros programas.
•Los punteros permiten la creación de estructuras de datos dinámicas, estructuras de
datos que tienen capacidad de variar en tamaño y ocupar tanta memoria como utilicen
realmente.
•Las variables que se crean y se destruyen durante la ejecución se llaman
variables dinámicas.
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
•La programación dinámica es un método ascendente. Se resuelven primero los
subejemplares más pequeños y por tanto más simples.
•Pascal proporciona los métodos para asignar y liberar espacio de memoria usando
punteros y los procedimientos predefinidos new y dispose.
•Las estructuras de datos están compuestas de otras pequeñas estructuras a las que
llamaremos nodos o elementos, que agrupan los datos con los que trabajará nuestro
programa y además uno o más punteros auto referenciales, es decir, punteros a objetos
del mismo tipo nodo.
•Frecuentemente para resolver un problema complejo se tiende a dividir este en
subproblemas, más pequeños, resolver estos últimos (recurriendo posiblemente a
nuevas subdivisiones) y combinar las soluciones obtenidas para calcular la solución del
problema inicial.
•Puede ocurrir que la división natural del problema conduzca a un gran número de
subejemplares idénticos.
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Implementación de Memorias Dinámicas
Creación de Objetos: La memoria se reserva explícitamente mediante
el operador new.
Duración de Los Objetos: Los objetos necesitan ser destruidos
explícitamente,
con el operador delete.
Indice de Arrays: El índice de un array puede ser un valor variable, de
modo
que la cantidad de memoria reservada por una línea de código
puede variar en tiempo de ejecución (runtime).
Ej:
int* n = new int [variable no const] //correcto
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Datos Dinámicos:
Las estructuras de datos dinámicas son útiles especialmente para almacenar y
procesar conjunto de datos cuyos tamaños cambian durante la ejecución del
programa
Variables Dinámicas:
Cuando se ejecuta un programa el sistema operativo reserva una zona de
memoria para el código o instrucciones del programa y otra para las variables
que se usan durante la ejecución.
A menudo estas zonas son las mismas zona, a esto es lo que se llama memoria
local. También hay otras zonas de memoria, como la pila, que se usa entre otras
cosas, para intercambiar datos entre funciones.
El resto, la memoria que no se usa por ningún programa es lo que se conoce
como “ heap “ o montón. Cuando nuestro programa use memoria dinámica,
normalmente usará memoria del montón, y no se llama así porque sea de peor
calidad, sino porque suele haber realmente un montón de memoria de este tipo.
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Tipos de datos Dinámicos:
Existen diferentes tipos de estructuras de datos dinámicas siendo las mas
notable y significativa los punteros las listas enlazadas, listas Circulares, los
arbole y los grafos
Listas abiertas: cada elemento sólo dispone de un puntero, que apuntará al
siguiente elemento de la lista o valdrá NULL si es el último elemento.
Pilas: son un tipo especial de lista, conocidas como listas LIFO (Last In,
First Out: el último en entrar es el primero en salir). Los elementos se
"amontonan" o apilan, de modo que sólo el elemento que está encima de la
pila puede ser leído, y sólo pueden añadirse elementos encima de la pila.
Colas: otro tipo de listas, conocidas como listas FIFO (First In, First Out:
El primero en entrar es el primero en salir). Los elementos se almacenan en
fila, pero sólo pueden añadirse por un extremo y leerse por el otro.
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
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.
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: Heap.
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Ejemplo funcional en Pascal
Hacer un programa que lea un numero n , y luego cargue los elementos
por teclado y después que los muestre.
En Pascal :
program prog01;
uses
crt;
type
pnodo1=^nodo1;
nodo1=record
dato:integer;
ps:pnodo1;
end;
var
r,p,q:pnodo1;
i:integer;
x:integer;
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
begin
ClrScr;
p:=nil;
i:=0;
write('cuantos nodos quiere? ');
readln(x);
writeln ('Introduzca los valores');
while(i<x)do
begin
new(q);
readln(q^.dato);
if(p=nil)then
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
begin
q^.ps:=p;
p:=q;
end
else
begin
r:=p;
while(r^.ps<>nil)do
r:=r^.ps;
q^.ps:=r^.ps;
r^.ps:=q;
end;
i:=i+1;
end;
writeln('los numeros son: ');
r:=p;
while(r<>nil)do
begin
writeln('->',r^.dato);
r:= r^.ps;
end;
readln;
end.
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
Un Ejemplo En C++:
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#pragma hdrstop
#pragma argsused
struct nodo{
int dato;
nodo *link;
};
void main(){
nodo *a,*b,*L;
int n,val;
cout<<"Introduzca la dimension ";
cin>>n;
cout<<"Introduzca los valores n";ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
a=new nodo();
for(int i=0;i<n;i++){
if(i==0){
cin>>val;
a->dato=val;
a->link=NULL;
L=a;
}
else{
b=new nodo();
cin>>val;
b->dato=val;
a->link=b;
b->link=NULL;
a=b;
} // else
ESTRUCTURA DE DATOS
MODELO DINAMICO
27/01/15
} // for
a=L;
cout<<"Los valores son n";
while(a!=NULL){
cout<<a->dato<<" ";
a=a->link;
}
getche();
}
Hacer un programa que cree un boton dinámicamente
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TButton *a=new TButton(this);
TButton *b=new TButton(this);
a->Parent=this;
b->Parent=this;
b->Top=200;
a->Top=200;
a->Left=300;
b->Left=200;
b->Caption="Estructura";
a->Caption="II";
} ESTRUCTURA DE DATOS
MODELO DINAMICO
INF-220 Estructura de Datos I

Más contenido relacionado

La actualidad más candente

Estructurade datos
Estructurade datosEstructurade datos
Estructurade datosDavidElizama
 
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADEstructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADJosé Antonio Sandoval Acosta
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Jesús Gómez Ávila
 
Presentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexPresentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexvictoruex
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoriaIronAngel
 
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...Diego Andrés Alvarez Marín
 
Unidad1 diapositivas
Unidad1 diapositivasUnidad1 diapositivas
Unidad1 diapositivasAristo1
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractoserwin_alexander
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosGrisell d?z
 
Unidad 1 diana karina pech may
Unidad 1 diana karina pech mayUnidad 1 diana karina pech may
Unidad 1 diana karina pech mayKarina1602
 
Información 18 los tipos de dato
Información 18 los tipos de datoInformación 18 los tipos de dato
Información 18 los tipos de datodanny tapuy
 
Buenas practicas para crear bases de datos
Buenas practicas para crear bases de datosBuenas practicas para crear bases de datos
Buenas practicas para crear bases de datosGiovanni Flores
 
9 4 lopez
9 4 lopez9 4 lopez
9 4 lopezmvbdh
 
Programacion En Mat Lab
Programacion En Mat LabProgramacion En Mat Lab
Programacion En Mat LabFreelance
 

La actualidad más candente (20)

Estructura de datos pdf
Estructura de datos pdfEstructura de datos pdf
Estructura de datos pdf
 
Estructurade datos
Estructurade datosEstructurade datos
Estructurade datos
 
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADEstructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
 
Estructuta de datos
Estructuta de datosEstructuta de datos
Estructuta de datos
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
 
Presentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexPresentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uex
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
 
Unidad1 diapositivas
Unidad1 diapositivasUnidad1 diapositivas
Unidad1 diapositivas
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Unidad 1 diana karina pech may
Unidad 1 diana karina pech mayUnidad 1 diana karina pech may
Unidad 1 diana karina pech may
 
Guia math5
Guia math5Guia math5
Guia math5
 
Información 18 los tipos de dato
Información 18 los tipos de datoInformación 18 los tipos de dato
Información 18 los tipos de dato
 
Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 
Matlab
MatlabMatlab
Matlab
 
Buenas practicas para crear bases de datos
Buenas practicas para crear bases de datosBuenas practicas para crear bases de datos
Buenas practicas para crear bases de datos
 
9 4 lopez
9 4 lopez9 4 lopez
9 4 lopez
 
Programacion En Mat Lab
Programacion En Mat LabProgramacion En Mat Lab
Programacion En Mat Lab
 

Similar a Modelo Dinamico

equipo 3 clasificación de estructura(2.pptx
equipo 3  clasificación de estructura(2.pptxequipo 3  clasificación de estructura(2.pptx
equipo 3 clasificación de estructura(2.pptxPedroSilva456418
 
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aPrimera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aJuanita Qontreras
 
1. tipos de datos abstractos
1. tipos de datos abstractos1. tipos de datos abstractos
1. tipos de datos abstractosFernando Solis
 
Castaño y navarro
Castaño y navarroCastaño y navarro
Castaño y navarrokathenavarro
 
Instituto tecnológico superior ibarra
Instituto tecnológico superior ibarraInstituto tecnológico superior ibarra
Instituto tecnológico superior ibarraLuis Alexander
 
Estructura de datos c++
Estructura de datos c++ Estructura de datos c++
Estructura de datos c++ eliezerbs
 
Unidades 3 4_5 cuestionario
Unidades 3 4_5 cuestionarioUnidades 3 4_5 cuestionario
Unidades 3 4_5 cuestionariolupita zume
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc X
 
Algoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdfAlgoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdfSirley43
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosEzer Ayala Mutul
 
Bases de Datos I_primer cuatrimestre.pptx
Bases de Datos I_primer cuatrimestre.pptxBases de Datos I_primer cuatrimestre.pptx
Bases de Datos I_primer cuatrimestre.pptxalecastillomsksks
 

Similar a Modelo Dinamico (20)

equipo 3 clasificación de estructura(2.pptx
equipo 3  clasificación de estructura(2.pptxequipo 3  clasificación de estructura(2.pptx
equipo 3 clasificación de estructura(2.pptx
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aPrimera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
 
1. tipos de datos abstractos
1. tipos de datos abstractos1. tipos de datos abstractos
1. tipos de datos abstractos
 
Isaco
IsacoIsaco
Isaco
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Castaño y navarro
Castaño y navarroCastaño y navarro
Castaño y navarro
 
Insti fer
Insti ferInsti fer
Insti fer
 
Instituto tecnológico superior ibarra
Instituto tecnológico superior ibarraInstituto tecnológico superior ibarra
Instituto tecnológico superior ibarra
 
Unidad 3,4 y5
Unidad 3,4 y5Unidad 3,4 y5
Unidad 3,4 y5
 
Estructura de datos c++
Estructura de datos c++ Estructura de datos c++
Estructura de datos c++
 
Base de datos
Base de datosBase de datos
Base de datos
 
Unidades 3 4_5 cuestionario
Unidades 3 4_5 cuestionarioUnidades 3 4_5 cuestionario
Unidades 3 4_5 cuestionario
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)
 
Presentacion1 convertido
Presentacion1 convertidoPresentacion1 convertido
Presentacion1 convertido
 
Tema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptxTema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptx
 
Algoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdfAlgoritmos y estructuras de datos en Python - digital.pdf
Algoritmos y estructuras de datos en Python - digital.pdf
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Bases de Datos I_primer cuatrimestre.pptx
Bases de Datos I_primer cuatrimestre.pptxBases de Datos I_primer cuatrimestre.pptx
Bases de Datos I_primer cuatrimestre.pptx
 

Más de Evans Balcazar

ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESEvans Balcazar
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSEvans Balcazar
 
Arboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarArboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarEvans Balcazar
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVLEvans Balcazar
 
Arboles AVL Rotaciones
Arboles AVL RotacionesArboles AVL Rotaciones
Arboles AVL RotacionesEvans Balcazar
 
Introduccion a Grafos 2
Introduccion a Grafos 2Introduccion a Grafos 2
Introduccion a Grafos 2Evans Balcazar
 
Introduccion a Grafos 1
Introduccion a Grafos 1Introduccion a Grafos 1
Introduccion a Grafos 1Evans Balcazar
 
Dce06 Arteaga 2007 2 Conferencia
Dce06  Arteaga 2007 2 ConferenciaDce06  Arteaga 2007 2 Conferencia
Dce06 Arteaga 2007 2 ConferenciaEvans Balcazar
 
Dce06 Arteaga 2007 1 Conferencia
Dce06  Arteaga 2007 1 ConferenciaDce06  Arteaga 2007 1 Conferencia
Dce06 Arteaga 2007 1 ConferenciaEvans Balcazar
 
Dce06 Arteaga 2007 3 Conferencia
Dce06  Arteaga 2007 3 ConferenciaDce06  Arteaga 2007 3 Conferencia
Dce06 Arteaga 2007 3 ConferenciaEvans Balcazar
 

Más de Evans Balcazar (20)

Matriz Sparse
Matriz SparseMatriz Sparse
Matriz Sparse
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
 
Recorridos de Grafos
Recorridos de GrafosRecorridos de Grafos
Recorridos de Grafos
 
Arboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarArboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar Eliminar
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVL
 
Insercion Arboles AVL
Insercion Arboles AVLInsercion Arboles AVL
Insercion Arboles AVL
 
Arboles AVL Rotaciones
Arboles AVL RotacionesArboles AVL Rotaciones
Arboles AVL Rotaciones
 
Arboles Recorridos
Arboles RecorridosArboles Recorridos
Arboles Recorridos
 
Arboles Ordenados
Arboles OrdenadosArboles Ordenados
Arboles Ordenados
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Recorrido de Grafos
Recorrido de GrafosRecorrido de Grafos
Recorrido de Grafos
 
Introduccion a Grafos 2
Introduccion a Grafos 2Introduccion a Grafos 2
Introduccion a Grafos 2
 
Introduccion a Grafos 1
Introduccion a Grafos 1Introduccion a Grafos 1
Introduccion a Grafos 1
 
Dce06 Arteaga 2007 2 Conferencia
Dce06  Arteaga 2007 2 ConferenciaDce06  Arteaga 2007 2 Conferencia
Dce06 Arteaga 2007 2 Conferencia
 
Dce06 Arteaga 2007 1 Conferencia
Dce06  Arteaga 2007 1 ConferenciaDce06  Arteaga 2007 1 Conferencia
Dce06 Arteaga 2007 1 Conferencia
 
Dce06 Arteaga 2007 3 Conferencia
Dce06  Arteaga 2007 3 ConferenciaDce06  Arteaga 2007 3 Conferencia
Dce06 Arteaga 2007 3 Conferencia
 
Modelo Persistente
Modelo PersistenteModelo Persistente
Modelo Persistente
 

Último

Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Último (20)

Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Modelo Dinamico

  • 1. 27/01/15 ESTRUCTURA DE DATOS IESTRUCTURA DE DATOS I MEMORIA DINAMICAMEMORIA DINAMICA EXPOSITOR:EXPOSITOR: Ing. Evans Balcazar VeizagaIng. Evans Balcazar Veizaga ESTRUCTURA DE DATOS MODELO DINAMICO
  • 2. 27/01/15 Introducción Una buena comprensión y un buen dominio de los punteros pondrán en tu mano una herramienta de gran potencia. Un conocimiento mediocre o incompleto te impedirá desarrollar programas eficaces. Ahora veremos como funciona los punteros. Un entero es un tipo especial de variable que contiene una dirección de memoria. A partir de esa dirección de memoria puede haber cualquier tipo de objeto : un char, int, float, un array, una estructura, una función u otro puntero ESTRUCTURA DE DATOS MODELO DINAMICO
  • 3. 27/01/15 Que es la Memoria Dinamica Es la forma de implementación de una estructura de datos usando la memoria en forma dinámica del computador, esto consiste en que nuestro programa o estructura de dato solicite un espacio de memoria libre al Sistema Operativo, el Sistema Operativo verifica si existe el tamaño solicitado y lo asigna si lo hubiera ,caso contrario devuelve un puntero nulo. De la misma forma solicitada una ves ya no usada se debe devolver al Sistema Operativo. ESTRUCTURA DE DATOS MODELO DINAMICO
  • 4. 27/01/15 Características de las Memorias Dinámicas Así, durante la ejecución de un programa puede haber una posición de memoria especifica asociada con una variable dinámica y posteriormente puede no existir ningún posición de memoria asociada con ella. •Una de las aplicaciones más interesantes y potentes de la memoria dinámica y los punteros son las estructuras dinámicas de datos. En muchas ocasiones se necesitan estructuras que puedan cambiar de tamaño durante la ejecución del programa. •Las estructuras dinámicas nos permiten crear estructuras de datos que se adapten a las necesidades reales a las que suelen enfrentarse nuestros programas. •Los punteros permiten la creación de estructuras de datos dinámicas, estructuras de datos que tienen capacidad de variar en tamaño y ocupar tanta memoria como utilicen realmente. •Las variables que se crean y se destruyen durante la ejecución se llaman variables dinámicas. ESTRUCTURA DE DATOS MODELO DINAMICO
  • 5. 27/01/15 •La programación dinámica es un método ascendente. Se resuelven primero los subejemplares más pequeños y por tanto más simples. •Pascal proporciona los métodos para asignar y liberar espacio de memoria usando punteros y los procedimientos predefinidos new y dispose. •Las estructuras de datos están compuestas de otras pequeñas estructuras a las que llamaremos nodos o elementos, que agrupan los datos con los que trabajará nuestro programa y además uno o más punteros auto referenciales, es decir, punteros a objetos del mismo tipo nodo. •Frecuentemente para resolver un problema complejo se tiende a dividir este en subproblemas, más pequeños, resolver estos últimos (recurriendo posiblemente a nuevas subdivisiones) y combinar las soluciones obtenidas para calcular la solución del problema inicial. •Puede ocurrir que la división natural del problema conduzca a un gran número de subejemplares idénticos. ESTRUCTURA DE DATOS MODELO DINAMICO
  • 6. 27/01/15 Implementación de Memorias Dinámicas Creación de Objetos: La memoria se reserva explícitamente mediante el operador new. Duración de Los Objetos: Los objetos necesitan ser destruidos explícitamente, con el operador delete. Indice de Arrays: El índice de un array puede ser un valor variable, de modo que la cantidad de memoria reservada por una línea de código puede variar en tiempo de ejecución (runtime). Ej: int* n = new int [variable no const] //correcto ESTRUCTURA DE DATOS MODELO DINAMICO
  • 7. 27/01/15 Datos Dinámicos: Las estructuras de datos dinámicas son útiles especialmente para almacenar y procesar conjunto de datos cuyos tamaños cambian durante la ejecución del programa Variables Dinámicas: Cuando se ejecuta un programa el sistema operativo reserva una zona de memoria para el código o instrucciones del programa y otra para las variables que se usan durante la ejecución. A menudo estas zonas son las mismas zona, a esto es lo que se llama memoria local. También hay otras zonas de memoria, como la pila, que se usa entre otras cosas, para intercambiar datos entre funciones. El resto, la memoria que no se usa por ningún programa es lo que se conoce como “ heap “ o montón. Cuando nuestro programa use memoria dinámica, normalmente usará memoria del montón, y no se llama así porque sea de peor calidad, sino porque suele haber realmente un montón de memoria de este tipo. ESTRUCTURA DE DATOS MODELO DINAMICO
  • 8. 27/01/15 Tipos de datos Dinámicos: Existen diferentes tipos de estructuras de datos dinámicas siendo las mas notable y significativa los punteros las listas enlazadas, listas Circulares, los arbole y los grafos Listas abiertas: cada elemento sólo dispone de un puntero, que apuntará al siguiente elemento de la lista o valdrá NULL si es el último elemento. Pilas: son un tipo especial de lista, conocidas como listas LIFO (Last In, First Out: el último en entrar es el primero en salir). Los elementos se "amontonan" o apilan, de modo que sólo el elemento que está encima de la pila puede ser leído, y sólo pueden añadirse elementos encima de la pila. Colas: otro tipo de listas, conocidas como listas FIFO (First In, First Out: El primero en entrar es el primero en salir). Los elementos se almacenan en fila, pero sólo pueden añadirse por un extremo y leerse por el otro. ESTRUCTURA DE DATOS MODELO DINAMICO
  • 9. 27/01/15 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. 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: Heap. ESTRUCTURA DE DATOS MODELO DINAMICO
  • 10. 27/01/15 Ejemplo funcional en Pascal Hacer un programa que lea un numero n , y luego cargue los elementos por teclado y después que los muestre. En Pascal : program prog01; uses crt; type pnodo1=^nodo1; nodo1=record dato:integer; ps:pnodo1; end; var r,p,q:pnodo1; i:integer; x:integer; ESTRUCTURA DE DATOS MODELO DINAMICO
  • 11. 27/01/15 begin ClrScr; p:=nil; i:=0; write('cuantos nodos quiere? '); readln(x); writeln ('Introduzca los valores'); while(i<x)do begin new(q); readln(q^.dato); if(p=nil)then ESTRUCTURA DE DATOS MODELO DINAMICO
  • 12. 27/01/15 begin q^.ps:=p; p:=q; end else begin r:=p; while(r^.ps<>nil)do r:=r^.ps; q^.ps:=r^.ps; r^.ps:=q; end; i:=i+1; end; writeln('los numeros son: '); r:=p; while(r<>nil)do begin writeln('->',r^.dato); r:= r^.ps; end; readln; end. ESTRUCTURA DE DATOS MODELO DINAMICO
  • 13. 27/01/15 Un Ejemplo En C++: #include <vcl.h> #include <iostream.h> #include <conio.h> #pragma hdrstop #pragma argsused struct nodo{ int dato; nodo *link; }; void main(){ nodo *a,*b,*L; int n,val; cout<<"Introduzca la dimension "; cin>>n; cout<<"Introduzca los valores n";ESTRUCTURA DE DATOS MODELO DINAMICO
  • 14. 27/01/15 a=new nodo(); for(int i=0;i<n;i++){ if(i==0){ cin>>val; a->dato=val; a->link=NULL; L=a; } else{ b=new nodo(); cin>>val; b->dato=val; a->link=b; b->link=NULL; a=b; } // else ESTRUCTURA DE DATOS MODELO DINAMICO
  • 15. 27/01/15 } // for a=L; cout<<"Los valores son n"; while(a!=NULL){ cout<<a->dato<<" "; a=a->link; } getche(); } Hacer un programa que cree un boton dinámicamente void __fastcall TForm1::Button1Click(TObject *Sender) { TButton *a=new TButton(this); TButton *b=new TButton(this); a->Parent=this; b->Parent=this; b->Top=200; a->Top=200; a->Left=300; b->Left=200; b->Caption="Estructura"; a->Caption="II"; } ESTRUCTURA DE DATOS MODELO DINAMICO