Sunteți pe pagina 1din 30

ESTRUCTURA DE DATOS

Universidad Tcnica de Manab Facultad de Ciencias Informticas Docente: Ing. C. Torres

DEFINICIN
En programacin, una estructura de datos es una forma de organizar un conjunto de datos elementales (un dato elemental es la mnima informacin que se tiene en el sistema) con el objetivo de facilitar la manipulacin de estos datos como un todo o individualmente.

Una estructura de datos define la organizacin e interrelacionamiento de estos, y un conjunto de operaciones que se pueden realizar sobre l. Las operaciones bsicas son: Alta, adicionar un nuevo valor a la estructura.

Baja, borrar un valor de la estructura.


Bsqueda, encontrar un determinado valor en la estructura para realizar una operacin con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estn ordenados) Otras operaciones que se pueden realizar son:

Ordenamiento, de los elementos pertenecientes a la estructura.


Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas.

Cada estructura ofrece ventajas y desventajas en relacin a la simplicidad y eficiencia para la realizacin de cada operacin. De esta forma, la eleccin de la estructura de datos apropiada para cada problema depende de factores como la frecuencia y el orden en que se realiza cada operacin sobre los datos.

TIPOS DE DATOS : Definicin

El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producir un error.

La asignacin de tipos a los datos tiene dos objetivos principales: Por un lado, detectar errores en las operaciones Por el otro, determinar cmo ejecutar estas operaciones Un lenguaje fuertemente tipeado es aquel en el que todos los

datos deben de tener un tipo declarado explcitamente, y adems que existen ciertas restricciones en las expresiones en cuanto a los tipos de datos que en ellas intervienen. Una ventaja de los lenguajes fuertemente tipeados es que se gasta mucho menos esfuerzo en depurar (corregir) los programas gracias a la gran cantidad de errores que detecta el compilador

Clasificacin de los tipos de datos

En funcin de quien los define:


Tipos

de datos estndar. Tipos de datos definidos por el usuario

En funcin de la representacin interna:


Tipos

de datos escalares o simples Tipos de datos estructurados.

Clases de tipos de datos


7

Los tipos de datos simples son los siguientes: Numricos (Integer, Real) Lgicos (Boolean) Carcter (Char, String)

Representacin de datos simples


Dato. Representacin forma de hechos, conceptos o instrucciones Tipo de dato. Un conjunto de valores, aquellos que puede tomar cualquier dato de dicho tipo.

Intituto Tenolgico de Roque

Representacin de datos simples

Las variables y constantes que forman parte de un programa pertenecen a un tipo de datos determinado. De esta forma, los valores asociados a dichas variables (o constantes) pueden operar con otros de acuerdo a su naturaleza (p. e. dos nmeros enteros pueden ser multiplicados pero no tiene sentido hacer esa operacin con cadenas de caracteres).

Intituto Tenolgico de Roque

Representacin datos simples


10

NUMEROS ENTEROS Si utilizamos 32 bits para representar nmero enteros, disponemos de 2^32 combinaciones diferentes de 0 y 1`s:

4294967296 valores.

Como tenemos que representar nmero negativos y el cero: -2 147 483 648 al +2 147 483 647
Intituto Tenolgico de Roque

Representacin datos simples


11

NUMEROS ENTEROS Complemento unitario Complemento doble

Intituto Tenolgico de Roque

12

Representacin de datos simples

NUMEROS REALES. (+|-) mantisa x 2exponente En la notacin del punto flotante un nmero real est representado por una hilera de 32 bits formada por una mantisa de 24 bits seguida de un exponente de 8 bits. La base se fija como 10. tanto la mantisa como el exponente son enteros binarios de complemento doble.
Intituto Tenolgico de Roque

Estructuras de datos
13

Son datos elementales aquellos que se consideran indivisibles en unidades ms simples. Una estructura de datos es una clase de datos que se puede caracterizar por su organizacin y operaciones definidas sobre ella. Algunas veces a estas estructuras se les llama tipos de datos.

14

Estructuras de datos. Clasificacin

Lgicas de datos.

En un programa, cada variable pertenece a alguna estructura de datos explcita o implcitamente definida, la cual determina el conjunto de operaciones validas para ella.

Primitivas y simples.

Aquellas que no estn compuestas por otras estructuras de datos por ejemplo, enteros, booleanos y caracteres.

15

Estructuras de datos. Clasificacin

Lineales
pilas,

colas y listas ligadas lineales.


y rboles.

No lineales incluyen
grafos

Organizacin de archivos
Las

tcnicas de estructuracin de datos aplicadas a conjuntos de datos que los sistemas operativos manejan como cajas negras comnmente se llaman Organizacin de Archivos.

1.1.2. Tipos de datos abstractos


16

Un tipo de datos abstracto TDA define una nueva clase de objeto o concepto que puede manejarse con independencia de la estructura de datos para representarlo. Para ello es necesario especificar: Las operaciones que se puede realizar con los objetos. El efecto que se produce al actuar con las operaciones sobre los mismos.

1.1.2. Tipos de datos abstractos


17

. Un TDA encapsula la definicin del tipo y todas las operaciones con este tipo. Los lenguajes de programacin entregan al programador ciertos tipos de datos bsicos o primitivos, especificando el conjunto de valores que una variable de uno de esos tipos puede tomar y el conjunto de operaciones realizables sobre los mismos. Por ejemplo, si se declara en C/C++

unsigned int x, y;

TDA
18

La instruccin n = 9+10 de un programa donde = es el operador de asignacin, el contenido de la localidad de almacenamiento dado por n ser el valor 19. Cada tipo de datos:

es reconocido por los elementos de datos que puede tomar. las operaciones asociadas a l. (su dominio)

Ejemplo : en pascal
Dominio entero D={0,1,2.max} Operaciones

Abstraccin matemtica

TDA
19

Los TDAs son generalizaciones de los tipos de datos bsicos y de las operaciones primitivas. Un TDA encapsula tipos de datos en el sentido que es posible poner la definicin del tipo y todas las operaciones con ese tipo en una seccin de un programa.

TDA
20

Por ejemplo, se puede definir un tipo de datos abstracto CONJUNTO [Aho1988] con el cual se pueden definir las siguientes operaciones: ANULA(A)

Hace vaco al conjunto A


Construye el conjunto C a partir de la unin de los conjuntos A y B. Entrega la cantidad de elementos del conjunto A.

UNION(A, B, C)

TAMAO(A)

TDA
21

El componente bsico de una estructura de datos es la celda. La celda almacena un valor tomado de algn tipo de dato simple o compuesto El mecanismo de agregacin de celdas llamado arreglo es una coleccin de elementos de tipo homogneo.

TDA
22

0 1 2 3 4 0 1 CELDA 3 4 1 2 5 6 7 8

: Arreglo bidimensional en C/C++

int w[5][3]

9 10
11 12 13 14

w[i][j] = b[i * n + j]
n es la cantidad de columnas del arreglo
w[2][0] = b[6]

Estructuras de datos
23

Son datos elementales aquellos que se consideran indivisibles en unidades ms simples. Una estructura de datos es una clase de datos que se puede caracterizar por su organizacin y operaciones definidas sobre ella. Algunas veces a estas estructuras se les llama tipos de datos.

24

Estructuras de datos. Clasificacin

Lgicas de datos.

En un programa, cada variable pertenece a alguna estructura de datos explcita o implcitamente definida, la cual determina el conjunto de operaciones validas para ella.

Primitivas y simples.

Aquellas que no estn compuestas por otras estructuras de datos por ejemplo, enteros, booleanos y caracteres.

25

Estructuras de datos. Clasificacin

Lineales
pilas,

colas y listas ligadas lineales.


y rboles.

No lineales incluyen
grafos

Organizacin de archivos
Las

tcnicas de estructuracin de datos aplicadas a conjuntos de datos que los sistemas operativos manejan como cajas negras comnmente se llaman Organizacin de Archivos.

Clasificacin de las Estructuras de Datos

Las estructuras de datos estticas:

Son aquel las en las que el tamao ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamao durante la ejecucin del programa.

Las estructuras de datos dinmicas:

No tienen las limitaciones o restricciones en el tamao de memoria ocupada que son propias de las estructuras estticas. Mediante el uso de un tipo de datos especifico, denominado puntero, es posible construir estructuras de datos dinmicas que no son soportadas por la mayora de los lenguajes, pero que en aquel los que si tienen estas caractersticas ofrecen soluciones eficaces y efectivas en la solucin de problemas complejos.

Tipos de Datos Estructurados Estaticos -Arrays

Arreglos unidimensionales: Ejemplo: Lista de Clase Cola para comprar tickest Vocales del abecedario.

OPERACIONES CON VECTORES

Podemos hacer con un vector : Llenar Mostrar Ordenar Buscar :


Secuencial Binaria

S-ar putea să vă placă și