Professional Documents
Culture Documents
ESTRUCTURA DE DATOS
ACTIVIDAD 1:
Estudiante:
Facilitador:
Ing. Felipe Gayosso Martnez
Grupo: DS-DEDA-1702-B1-001
julio de 2017
Estructura de datos
Unidad 1: Estructura de datos
Actividad 1: Relacin entre algoritmos y estructuras de datos
Contenido
Algoritmo ......................................................................................................................................... 1
Caractersticas ......................................................................................................................................... 1
Ejemplos .................................................................................................................................................. 1
Ejemplos .................................................................................................................................................. 2
Referencias ...................................................................................................................................... 6
ALGORITMO
Caractersticas
Preciso: sin ambigedades.
Definido: produce el mismo resultado.
Finito: termina en algn momento.
Puede tener cero o ms elementos de entrada.
Produce resultados: las salidas son el producto de efectuar las instrucciones.
Ejemplos
Calcular el volumen de un cubo:
1. Inicio.
2. Leer las medidas A, B y C.
3. Realizar el producto de A por B por C y guardarlo en V: V=A*B*C.
4. Escribir el resultado V.
5. Fin
Determinacin de la cantidad mayor:
1. Inicio.
2. Leer A, B.
3. Si A > B Entonces
Hacer M = A
Si no
Hacer M = B
Fin de comparacin
4. Escribir el mayor es, M
5. Fin
ESTRUCTURA DE DATOS
Una estructura de datos es una coleccin de datos caracterizada por una organizacin definida
y por las operaciones posibles de efectuar en ellos, por las relaciones que se guardan entre esos
datos, por lo que es factible expresarlas por medio de reglas.
Ejemplos
Cadenas: secuencia de caracteres que se interpretan como si fueran un dato nico.
Pilas: estructura en la que los datos se acceden por un solo extremo, con la consigna
ltimo en entrar, primero en salir.
Colas: estructura en la que los datos se acceden por ambos extremos, con la consigna
primero en entrar, primero en salir.
Tipos de estructuras
Estticas: estructuras en las que el tamao que ocupan en memoria se define previamente
a la ejecucin del programa, por lo que no se puede cambiar durante la ejecucin.
Dinmicas: estructuras cuyo tamao en la memoria puede variar durante la ejecucin del
programa de acuerdo a las necesidades sin que haya que predefinirlo.
Por ejemplo, con una lista enlazada, se tiene que cada elemento tiene la instruccin de
apuntar y estar ligado a otro, siendo ese el modelo para su construccin, es decir una abstraccin de
lo que debe hacer:
La instruccin
String *Nombres[20]
declara un arreglo de 20 apuntadores a carcter los cuales pueden servir como apuntadores a
nombres para despus procesarlos. Pero qu tal si el nmero de nombres a usar se requiere que sea
introducido por el usuario y determinarse en tiempo de ejecucin, entonces tenemos que reservar
dinmicamente la memoria para el arreglo Nombres. Cmo se resuelve mediante un programa esta
situacin?
Por medio de alguna estructura repetitiva o de ciclo, que permita modificar el tamao de
memoria necesitado segn el caso.
USO DE LA MEMORIA
Memoria esttica: para variables globales y de tamao esttico. El compilador les asigna un
espacio definido y genera referencias para acceder a ellas en la zona esttica; el tamao de
las variables no cambia en la ejecucin del programa y su tiempo de vida es la duracin del
programa.
Montculo (heap): memoria dinmica que el programa pide al sistema operativo por medio
de funciones, se maneja por punteros; al terminar de correr los procesos, el sistema
operativo libera toda la memoria del heap que fue pedida.
Pila (stack): para variables automticas que se tienen durante la ejecucin de la funcin
que las referencia. Los argumentos y variables locales, son asignados y desasignados en
forma dinmica durante la ejecucin de tales funciones, pero en forma automtica por
cdigo generado por el compilador.
El compilador asigna un espacio para las variables y genera las referencias para acceder a las
variables del stack y de la zona esttica. El tamao de las variables del stack y de la zona esttica no
puede cambiarse durante la ejecucin del programa. Cuando se carga un programa a ejecutar en
memoria desde el disco duro solamente, los datos de la zona esttica son creados, mientras que el
heap y el stack son creados dinmicamente durante la ejecucin del programa.
REFERENCIAS
Arredondo, T. (2010). reas de memoria. Chile: Universidad Tcnica Federico Santa Mara.
Goodrich, M., Tamassia, R. (2010). Estructuras de datos y algoritmos en Java. Estados Unidos:
Cecsa.