diapositiva estructura de datos unidad 1
TRANSCRIPT
INSTITUTO TECNOLÓGICO SUPERIO DE FELIPE CARRILLO PUERTO
ING: Sistemas Computacionales
Estructura de Datos
Ezer Abisai Ayala Mutul
Niels Henryk Aranda Cuevas
3er Semestre Grupo “A”
Felipe carrillo puerto Quintana Roo a 28 de septiembre del 2014
TIPOS DE DATOS ABSTRACTOS (TDA)
Es el elemento básico de la abstracción de datos.
Un TDA es un tipo de dato definido por el programador que se puede manipular de un
modo similar a los tipos de datos definidos por el lenguaje.
Si los tipos de datos existentes en el lenguaje no son suficientes o no son eficientes para
ciertas aplicaciones, la mayoría de los lenguajes de programación permiten a usuario
definir sus propios tipos de datos.
Esta definición consiste en establecer los elementos de que consta el tipo, así como las
operaciones que se pueden realizar con instancias de este tipo.
APLICACIONES
Las dos aplicaciones tradicionales de los TDA es la definición de una lista o de una pila,
ambos conceptos son muy útiles en el área de las estructuras de datos:
1. Una pila es una colección dinámica de datos de un mismo tipo, en las que los
elementos se insertan y se extraen sobre un mismo extremo.
2. Una lista es también una colección dinámica de datos de un mismo tipo, se
considera aquí que cada elemento de la lista tiene un único predecesor (excepto el
primer elemento) y un único sucesor (excepto el ultimo elemento).
DECLARACIÓN
Para construir un tipo abstracto se debe:
1. Establecer la definición del tipo
2. Definir las operaciones (funciones y procedimientos) que pueden operar con dicho tipo
3. Ocultar la presentación de los elementos del tipo de modo que solo se pueda trabajar con
ellos usando los procedimientos definidos en 2
4. Poder crear instancias múltiples del tipo
La declaración de RDA´S requiere al menos el uso de dos palabras reservadas en C++.
Struct. Struct define una estructura de datos; este permite crear un tipo de dato que esta
compuesto de unos o varios elementos denominados campos (variables definidos por el
lenguaje).
Typedef. Se utiliza para definir el “alias” o sinónimo de un tipo de datos.
Se esta definiendo un nuevo tipo de datos llamado persona, que contiene
exactamente la misma estructura y elementos Tipo_Persona definida arriba por eso
se dice que son sinónimos. En otras palabras existiría un nuevo tipo en el lenguaje.
La sintaxis de las dos palabras claves incluidas aquí es la siguiente:
OPERACIONES SOBRE UN TDA
Las operaciones que se aplican a un TDA (numeral 2) generalmente caen dentro de los siguientes
tipos básicos:
1. Construcción: crean una nueva instancia del tipo
2. Transformación: cambia el valor de uno o mas elementos del tipo
3. Observación: permiten determinar el valor de uno o mas elementos de un tipo sin modificarse
4. Iteradores: permiten procesar todos los datos de un TDA en forma secuencial
MEMORIA ESTÁTICA
Es la memoria que se reserva en el momento de la compilación antes de empezar a ejecutar el programa.
Los objetos son creados al iniciar el programa y destruidos al finalizar el mismo. Mantienen las misma
localización en memoria durante todo el transcurso del programa hasta que son destruidos.
Los objetos administradores de este modo son: variables globales, variables estáticas de funciones,
miembros estatic de clases y literales de cualquier tipo.
CONSIDERACIONES
1. Error de un tiempo de ejecución de índice fuera de rango
2. Se debe de conocer la anticipación el tamaño de la estructura V[3], M[2,2], C[5,3,2]
3. Se guarda en memoria adyacente ejem
4. Vectores, matrices, cubos, registros, archivos
Ventajas1. Lógica simple2. Optimo para resolver problemas P y M
Desventajas1. No se puede modificar el tamaño de las estructuras en T.D.E2. No se optimiza con grandes cantidades de datos3. Desperdicio de memoria cuando no se utiliza la totalidad del tamaño por ejem
V[100]
MEMORIA DINÁMICA
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 numero dela 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 mas memoria se necesite , mas se necesita el 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.
Consideraciones1. Manejo transparente del tamaño de la estructura
2. Se guarda donde se encuentra el espacio
3. No se guarda necesariamente en memoria adyacente
Ventajas1. El tamaño de la estructura no se infiera en la lógica del programa
DesventajasLas estructuras de datos son una forma avanzada de manejar datos en tiempo de
ejecución
CONCLUSIÓN GENERAL
Es esta unidad llamada introducción a las estructuras de datos vimos los
tipos de datos, nos pudimos dar cuenta que para construir un tipo de dato
abstracto se necesita un serie de pasos que en desarrollo de esta
presentación se menciono. un ejemplo mostrado es la de un a pila que es
una colección dinámica de datos de un mismo tipo, en la que los
elementos se insertan por un mismo tipo. Todo esto lo podemos aplicar para crear programas que nos puedan ayudar con el control de los resultados
de los exámenes de alumnos, para calcular la edad de algunas personas y
saber si tienen la misma edad o son diferentes