diapositiva estructura de datos unidad 1

12
INSTITUTO TECNOLÓGICO SUPERIO DE FELIPE CARRILLO PUERTO ING: Sistemas Computacionales Estructura de Datos Ezer Abisai Ayala Mutul Niels Henryk Aranda Cuevas 3 er Semestre Grupo “A” Felipe carrillo puerto Quintana Roo a 28 de septiembre del 2014

Upload: ezer-ayala-mutul

Post on 03-Jul-2015

124 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diapositiva estructura de datos unidad 1

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

Page 2: Diapositiva estructura de datos unidad 1

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.

Page 3: Diapositiva estructura de datos unidad 1

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).

Page 4: Diapositiva estructura de datos unidad 1

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

Page 5: Diapositiva estructura de datos unidad 1

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).

Page 6: Diapositiva estructura de datos unidad 1

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:

Page 7: Diapositiva estructura de datos unidad 1

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

Page 8: Diapositiva estructura de datos unidad 1

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.

Page 9: Diapositiva estructura de datos unidad 1

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]

Page 10: Diapositiva estructura de datos unidad 1

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.

Page 11: Diapositiva estructura de datos unidad 1

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

Page 12: Diapositiva estructura de datos unidad 1

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